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).