wayland: Add foreign surface support to stage

This adds support for optionally a providing a foreign Wayland surface
to a ClutterStage before it is first shown. Setting a foreign surface
prevents Cogl from allocating a surface and shell surface for the stage
automatically.

v2: add CLUTTER_AVAILABLE_IN_1_16 annotation and API reference docs
    (review from Emmanuele Bassi)

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