core: Hide close dialog before destroying
The MetaCloseDialog implementation object may stay artifically alive for a longer period. This was usually fine till gnome-shell commit b03bcc85aad, as the check_alive() timeout will keep running even though the window went unmanaged/destroyed, leading to crashes.
In order to fix this, forcibly hide the dialog if it is visible and the window is being unmanaged, so the timeout is stopped in time.