* DND now should work reasonable (still not finished DND on icons)
* Added menus (icon specific, desktop)
* Icon renaming works too
* Some code to change icons fonts (unfinished)
* Desktop main instance will be now first created and then call rest of
init data. This will allow init data to re-use desktop instance and peek
it's own data (area() for example). Previously, calling such functions would
crash app since constructor didn't finished with creation of desktop instance.
called from DesktopIcon constructor. In previous case, Desktop constructor
wasn't finished, but Desktop::instance() was called in the mean time which
yields crashing.