[qtwayland] QtCompositor: Expose window properties declaratively

Using QQmlPropertyMap, surface properties are made accessible to
QtQuick compositors in a declarative way. By using a QQmlPropertyMap
instead of a QVariantMap, binding and signaling are automatic.

A QML Compositor can declare a surface item and write to its properties
like so:

WaylandSurfaceItem {
    id: item

    property var roundtrip: item.surface.windowProperties.someDynamicProperty

    Binding {
        target: item.surface.windowProperties
        property: "someDynamicProperty"
        value: "someQmlValue"
    }
}

Change-Id: I783c3fd154c2512168b7cbf8c9736f833715065d
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>