events: Make sure to check the event window of the MapNotify

This was lost in a rebase when killing off zaphod mode.
window: Ensure that visible_to_compositor is set when unmanaging

visible_to_compositor should always be in sync with show_window /
hide_window calls, even when unmananging.

This fixes a crash where we call sync_window_state when the window
is unmanaging, since we use visible_to_compositor to determine whether
the compositor will crash.

This is actually wrong; we should be using the knowledge about
whether we have called add_window / remove_window. We'll introduce
this with a new boolean next time.
window: Track known_to_compositor and visible_to_compositor separately

Really, visible_to_compositor means that the window is shown, e.g.
not minimized. We need to be using a boolean tracking whether we've
called meta_compositor_add_window / meta_compositor_remove_window.

This fixes a jump during window placement when a window appears.
display: Don't double-free the screen

We already free the screen once in meta_display_close.

This fixes a crash when trying to restart mutter.