Integrate QWindow::Visibility into Compositor API

This enhances the onscreen_visibility extension to use QWindow's
visibility API. This way, the server can set the QWindow::visibility on
a Qt client. Any client that updates its window type through wl_shell
will also have its QWaylandSurface::visibility property updated, and the
compositor can choose to composite the surface accordingly. This also
simplifies exposure handling in QWaylandWindow so that it can use the
base implementation.

The existing use of this extension, setClientRenderingEnabled, is kept for
compatibility, and maps to QWindow::Hidden (false) and
QWindow::AutomaticVisibility (true).
Merge pull request #10 from mikkoharju/master

Change setDirectRenderSurface to return the result
Merge pull request #8 from xknight/master

Integrate QWindow::Visibility into Compositor API
Add QT_WAYLAND_COMPOSITOR_NO_THROTTLE

For debugging purposes, make it possible to set
environment variable QT_WAYLAND_COMPOSITOR_NO_THROTTLE that
causes the compositor to send frame events for all
client surfaces that have pending frame callbacks.