Menu reload is using DirWatch to monitor application menu folders for changes. With this, any change on some content will trigger
menu update. Update is trying to be safe as possible: when menu is open, a backup menu will be constructed and replaced as soon as menu
was closed; when is closed, it will be directly replaced.
This still can include races, but I'm hoping they will not occur.
Related to memory leaks: on couple of places in cpu applet, delete was wronly called instead delete[]. Also, when ede-panel exits,
AppletManager would not clean loaded apples. Strange. So now explicit clear was added on exit.
When screen dimensions are shrinked, panel will be moved at the correct location but will not be resized correctly. Also,
when screen dimensions are changed again, increasing sizes, panel would not catch that. Here, 'the hack' is to track
root window dimension changes and react on that, since relaying on _NET_WORKAREA is not always good; struts dimentions affects workarea size.
Main menu now has tooltips, which is Comment value from .desktop files. Also, since XdgMenuReader directly plays with MenuItem,
MenuItem::init_extensions() is used to reset uncommon values.