(Fx_popup_menu): Don't show pop up menu until preceding one is
actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
Changes adapted from xmenu.c
(set_frame_menubar): First parse all submenus,
then make widget_value trees from them.
Don't allocate any widget_value objects
until we are done with the parsing.
(parse_single_submenu): New function.
(digest_single_submenu): New function.
(single_submenu): Function deleted, replaced by those two.