Fix for looping opening a submenu after tick/fade changes
Detail: menu_showing() could report the sub-menu state as 'open' when in fact it was only 'about to be shown'. This caused a problem where the tick/fade state of an entry was changed (ie. both set and cleared) from the 'about to be shown' event because Menu wrongly thought the menu was showing then called update_tree() which in turn asks the Wimp to recreate the menu tree, causing the 'about to be shown' event to be resent in an endless loop.
A new flag SUB_SHOWING notes the extra intermediate state and is distinct from SHOW_NEXT. Once the 'about to be shown' event has completed the flag clears and menu_showing() proceeds as before. Admin: Submission for Toolbox bounty.