wayland-surface: Embed MetaWaylandSurfaceExtension in MetaWaylandSurface

This makes it easier to support xdg_surface.destroy, which we're
going to add support for next commit...
wayland-surface: Support xdg_surface.destroy

Cool.
window: Create a backing MetaWindow for unmapped Wayland surfaces

We require a MetaWindow to properly implement some of the requests
for xdg_surface, so add a way to have an unmapped MetaWindow that
we can store properties on, that we later map when the client
attaches a buffer...
wayland-surface: Remove some properties from the double-buffered state

Now that we can always set them on the MetaWindow...
wayland-surface: Add support for xdg_popup