wayland: implement global and window keybindings

Synthetize XInput events from ClutterEvents in MetaWaylandKeyboard,
and pass them to the keybindings infrastructure for early handling,
so that we can activate them even if the currently focused window
is not an X11 one (or if there is no focused window, or we're
modal)
Stop messing with process groups and standard streams

We can be launched by gnome-session now, which implies:
1) gdb must attached from outside (and the Ctrl-C problem is gone)
2) stdin is /dev/null already
3) stdout is the journal, not the terminal

https://bugzilla.gnome.org/show_bug.cgi?id=706421
[NOT FOR REVIEW] Add the ability to attach a debugger at init
wayland: don't require Clutter backend variables to be set from outside

When running under mutter-launch, we can assume we're running on
bare metal, and set the clutter backend appropriately.

https://bugzilla.gnome.org/show_bug.cgi?id=706421
wayland: die when gnome-session asks us to

At logout, we want to die when gnome-session tells us. Previously,
we were relying on the X server going down (killed by GDM at the
end of the session), but we can't use that in wayland.

https://bugzilla.gnome.org/show_bug.cgi?id=706421
mutter-launch: use systemd to obtain the TTY

Using the command line or an environment variable is dangerous,
as those can be spoofed to gain access to other sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=705861
[maybe?] Bump version to 3.9.90

Keep the version in sync with the master branch.
mutter-launch: augment with VT and TTY handling

Set the TTY mode appropriately at startup, and clean it up
when the compositor exits. Also, take control of VT switching,
and make sure that the compositor calls drmDropMaster when switched
away.
In the future, we the kernel implements the mute evdev ioctl,
we'll also make sure that input devices are appropriately released.

https://bugzilla.gnome.org/show_bug.cgi?id=705861
wayland: use the new mutter-launch capabilities to handle TTY and VT

Integrate MetaTTY with meta-weston-launch, into a new MetaLauncher
helper, that takes care of talking with the setuid helper, calling
set/dropMaster as appropriate and opening the evdev devices when
asked by clutter.
In the future, this object could be made to talk to logind instead
of our private helper, or the helper could be turned into a systemd
daemon.

https://bugzilla.gnome.org/show_bug.cgi?id=705861
wayland: constraint the pointer onto visible monitors when running on evdev

Use the new Clutter hook to make sure the pointer never enters
the dead area caused by the different monitor sizes.

You don't realize how much X is doing for you until you lose it...

https://bugzilla.gnome.org/show_bug.cgi?id=706655