wayland: Add a --wayland option

This makes Gnome Shell run as a wayland compositor

https://bugzilla.gnome.org/show_bug.cgi?id=707467
wayland: Create a dummy stage window when running as a display server

When Mutter is running as a display server then Clutter won't be using
the X11 backend so there won't be a window for the stage. The shell
global keeps track of this stage window to be used in various places.
This patch adds a dummy window that is never mapped to use instead of
the stage window so that the various places that are using it might be
able to continue working without generating X errors.

https://bugzilla.gnome.org/show_bug.cgi?id=707467
wayland: Don't set properties on the overlay window on Wayland

When Mutter is running as a display server it won't create an overlay
window. Therefore we shouldn't need to set the DND proxy on the
window. This was previously causing X errors when it tried to set a
property on an invalid window.

https://bugzilla.gnome.org/show_bug.cgi?id=707467
Don't pass on X events to Clutter

The Mutter plugin manager has now been changed so that it itself will
pass on the events through Clutter so there is no need to do this in
Gnome Shell anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=707467
ShellGlobal: avoid one use of ClutterX11

clutter_x11_get_stage_window() will abort if clutter is not
using the x11 backend (such as when running under DRM). We already
have a fake X window in ShellGlobal, let's use that instead.

https://bugzilla.gnome.org/show_bug.cgi?id=707467
StEntry: don't call ClutterX11 methods if Clutter is not using x11

It causes an assert and crashes.

https://bugzilla.gnome.org/show_bug.cgi?id=707467
ShellGlobal: use MetaCursorTracker to query the pointer position

Gdk uses Xwayland, so it only sees the events we forward to X11
clients. Instead, we can use the abstraction API provided by
mutter and get the right value automatically.
Also, we need to use MetaCursorTracker to handle the cursor
visibility too.

https://bugzilla.gnome.org/show_bug.cgi?id=707467
Add support for running wayland under gnome-session

Include a .desktop file that autostarts us as a wayland compositor.

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