Introduced qtwaylandscanner.

Generates C++ headers with Qt types based on the Wayland XML protocol files,
to reduce a lot of code duplication in all the places that interface between
Qt and the wayland protocol headers.

Change-Id: I34a4417d3d3d0238de2f2f74986855d097b50ec9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Adapted code to use qtwaylandscanner.

We include the wayland.xml since we need to generate bindings for the
core protocol as well.

Also, WAYLANDSOURCES has been split into WAYLANDSERVERSOURCES and
WAYLANDCLIENTSOURCES since we need to produce different output in the
server and client cases.

Change-Id: I0bd493d41ca6b26dfd2d9b1463d4b762786537f9
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Fixed broken wayland_scanner config.test.

We need to replicate the extra compiler rule to invoke the
wayland-scanner without trying to invoke the qtwaylandscanner.

Change-Id: I312b24103f63570080c32103fb352f1948308f15
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Fix variable name in QWaylandInputDevice::keyboard_modifiers

Follow-up commit for Change I0bd493d4, for non-xkb builds

Change-Id: I34e331e981d278cc1c184740c0f973d54836a0c3
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>