Add support for quad-buffer stereo

Track the stereo status of windows using the new EXT_stereo_tree
GLX extension.

When stereo is enabled or disabled, a restart is triggered via
meta_restart() after a timeout, setting a _META_ENABLE_STEREO
property on the root window to indicate whether we should
turn on a stereo stage for clutter. The property avoids a loop,
since we need to enable stereo *before* initializing Clutter and GL,
but we need GL to figure out whether we have stereo windows.

Stereo windows are drawn to the stage using new functionality
in Cogl to setup a stereo context, select which buffer to draw
to, and draw either the left or right buffer of a stereo
texture_from_pixmap.
Fix windows walking up the screen on restart

When a window is initially created, we need to save it's user rect
after any adjustments for gravity. Otherwise, the next time the window is
queued for a resize, it will jump back to it's initial position.

We did that for newly created windows, but on restart, when windows
were already placed, the logic skipped saving the position. Use an
explicit flag so that we always save the position for newly created
MetaWindows.
Leave windows in place on a crash respawn

When Mutter is restarted and cleans up the window positions
cleanly, we need to add gravity adjustments. We can detect
this easily.

 - Windows started before the window manager (should add
   add gravity adjustments)
 - Replacing a different window manager (should add gravity
   adjustments)
 - A crash (no adjustments needed)

In GNOME the first two cases shouldn't happen in normal
usage, so assume the third case (though that *shouldn't*
happen in normal usage either.)
Switch to using ClutterStage::after-paint

The experimental API clutter_stage_set_paint_callback() is replaced
with an ::after-paint signal as of Clutter 1.19.5.