Fixing bug that overwrites user ini
Complete revamp of CFlyoutMenuHandler. See ext.

* Reinstating _ExitWhenInactive
* If there is a menu already active, hotkey for menu will activate the
flyout instead of recreate the main menu
* Making menu creating routines Critical
* Better menu offset handling
* Better ini handling
* Removing g_aMapHotkeysToLabels. Replacing with g_MenuHelperIni EasyIni
object. This is an internal master object which is very convenient for
keeping tracking of existing inis. This new method also fixes a bug
where hotkeys were launching the wrong menu options.
* Using CFlyout.OnMessage for clicks instead of timer
* Better parentage (window enabling/disabling) in
FlyoutMenuHandler_ExitTopMost