Add QWaylandOutput to support multiple outputs

Add a new QWaylandOutput class to support multiple outputs.

A window is no longer needed to create Compositor and QWaylandCompositor,
and all output related methods are removed.

QWaylandCompositor returns a list of outputs and emits signals when
outputs are added or removed.

The QWaylandOutput constructor and destructor automatically manage
the list of outpus and emit signals.

QWaylandOutputs are created by compositor implementations after
QWaylandCompositor is instantiated, at least one needs to be created.

Compositors are encouraged to inherit QWaylandOutput to support high
level concepts such as primary output.

Each QWaylandOutput need a window for rendering.

Rename OutputGlobal to Output and Output to OutputResource.

Add support for physical size and available geometry.

Use better defaults for geometry and refreshRate from the QWindow
if available.

Views and surfaces now provide information about the outputs they are
mapped on.

Change-Id: I742996571ddb78328f7bfa4f79b25a81995279e1
Done-with: Jan Arne Petersen <jan.petersen@kdab.com>