xwayland: Don't crash when the window disappears from under us

If we attach to a MetaWindow that disappears before the idle fires,
we'll notice that we can't associate the window properly again and
try to access data on the MetaWindow struct, which might crash.

Install a weak ref that ties the lifetime of the idle to the lifetime
of the MetaWindow.

It seems every GTK+ app does this for some reason at startup. This
is really unfortunate, since we'll have to create and destroy a new
MetaWindow really quickly.
ui: Remove maybe_redirect_mouse_event

There's no cross-talk between grabs now that the backend fully manages
input properly.