WIP!!! WIP!!! Wayland port

!!!EARLY PULL REQUEST, NEED TEST don't merge yet
I'm sending it 'cause people might want to share some thoughts!!!

Wayland port

This change adds Wayland support only to Qt 5 builds (it's not possible
with Qt 4).

Users pass -DUSE_WAYLAND=ON to cmake in order to enable Wayland support.
Wayland and X11 support are mutually exclusive.

Changes to daemon:

 - DisplayServer is now a base class
 - DisplayServer implementation code moved to XcbDisplayServer
 - New WaylandDisplayServer class with Wayland specific code

Changes to greeter:

 - KeyboardBackend moved to its separate .cpp/.h files
 - Same happened to XcbKeyboardBackend
 - KeyboardModelPrivate moved to a separate header
 - Layout moved to separate .cpp/.h files as KeyboardLayout
 - New WaylandKeyboardBackend class with Wayland specific code
 - Added WaylandIntegration class to use wl_fullscreen_shell

Wayland backends are used only if USE_WAYLAND is defined.

The sddm.conf configuration file has different values if Wayland support
is enabled for:

 - ServerPath
 - SessionsDir

The SessionCommand entry from sddm.conf is ignored on Wayland.

Unlike X11, with Wayland there's not only one display server.
For this reason the only compositor supported at this moment is Weston
with fullscreen shell support available from:

  https://github.com/jekstrand/weston/tree/fullscreen-shell-v6

It will likely to be ready for Weston 1.5.

In the future we might implement sddm's own compositor, but for an
initial Wayland support it's better use Weston.

The compositor in test mode simulates two screens to easily test
multi screen support.

FIXME: Edit compositor path in CMakeLists.txt before merging.