Revert "Read and process Wayland events in separate thread"

This reverts commit ba0deb22da11fdcd092f17bb1049c6d40056aa38
which introduced a regression making QML applications with top
level windows crash.

See https://bugreports.qt-project.org/browse/QTBUG-30156
Revert "Disable desktop settings awareness for now"

Th commit 10652f8dd675aa0d12c11597c165831c8ba0b8b4 is very important
to avoid loading themes that requires X11 in a pure Wayland
environment, but it also make impossible to load Hawaii themes.

Hawaii is a Wayland-only desktop environment and we need desktop
settings awareness on.
Attach always the front buffer before committing it.

The attach semantics changed in Wayland master.

Change-Id: I79efa5e3b2d048604cadb18543101a869ccb6835
Fix the popups handling.

Use wl_shell_surface_set_popup() instead of wl_shell_surface_set_transient(),
since the latter is not supposed to make the surface follow the transient
parent movements.

Needs Weston master or 1.0.6, otherwise freezes will happen.
To have the best experience you should however use recent weston master.
The popups in QtCompositor are badly placed.

Change-Id: I3c86e5d74503514749840681b4e81c58cd73ca70
Do not create a wl_shell_surface for Qt::CustomWindow

Normal application windows should usually have a wl_shell_surface. But
there are also QWindows which should be used as input panel, lock or
background surface. In this cases they must not be wl_shell_surfaces.

Native wayland API (together with the platform's native interface) can
be used to specify the surface type for that kind of windows.

Change-Id: I0f6c499e60305ab31f545d435e8f25c340d7ac3e
Expose window properties to QML

Make window properties available to QML compositors.

Change-Id: Id87a263207dab354fbab4b67bbaaeace37660e9d