wayland: Import a copy of the subsurface protocol extension

https://bugzilla.gnome.org/show_bug.cgi?id=695737
wayland: Generate client side binding for the subsurface protocol

This adds a non-optional dependency on Clutter Wayland and GTK Wayland
as well as the Wayland client library itself.

https://bugzilla.gnome.org/show_bug.cgi?id=695737
gitignore: Update for generated subsurface code

https://bugzilla.gnome.org/show_bug.cgi?id=695737
wayland: Integrate GTK+ and Clutter's display

Tell Clutter to use the display from GTK and in order to avoid deadlocks
on the Wayland socket disable Clutter's polling on that socket.

https://bugzilla.gnome.org/show_bug.cgi?id=695737
wayland: Use the subsurface protocol to implement GtkClutterEmbed

The subsurface protocol lets us "embed" one surface within another. The
compositor will compose the two surfaces together to create a single
window. We use it here to take the surface we get from Clutter and make
that into a subsurface and then associate that subsurface with the main
surface coming from GTK+.

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