wayland: Support for QtWayland surface extension

This is the QtWayland equivalent of ```wl_shell``` with some QtWayland-specific extensions. The patch has been written in a way so that it takes advantage of ```qt_surface_extension``` when available (when running under a QtWayland compositor), but does not change behavior when it is not available (e.g. under Weston).

Just like the previous pull request, this drags in some headers and glue code from QtWayland for interface compatibility - how to (re-)generate the header and glue code has been documented in ```README.wayland```.

----
Add support for the surface_extension protocol from QtWayland,
with qt_surface_extension and qt_extended_surface interfaces.

Right now, this only adds support for handling "close" events on
windows, but other features (windowflag / OverridesSystemGestures)
could be implemented using this integration in the future.

The files wayland-qt-surface-extension.{c,h} are auto-generated
from the XML definition src/extensions/surface-extension.xml in
qtwayland (git://gitorious.org/qt/qtwayland.git).