compositor-drm: Allow running without launcher if effective UID is 0

This lets us keep running weston as root or setuid root.
Make backends always specify output repaint time

Most backends relies on gettimeofday(2) for output repaint timestamps
but this is not a requirement. Before this patch repaints coming from
idle_repaint() always used gettimeofday(2) for timestamps. For backends
not using that time source this could cause large jumps between
timestamps.

To fix this, timestamps needs to always come from the backend. This
means that the backend needs to always be responsible of starting the
repaint loop in case that the repaint cannot start immediately.

The drm backend implementation is from the patch by Ander Conselvan de
Oliveira found here:
http://lists.freedesktop.org/archives/wayland-devel/2013-February/007393.html

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
clients: tablet-shell: Wait for set_homescreen hits the server

This relates to:
    https://bugs.freedesktop.org/show_bug.cgi?id=57634
    https://bugs.freedesktop.org/show_bug.cgi?id=57637

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
Correctly handle extended RDP keycodes

The keycodes received by the FreeRDP server aren't evdev keycodes.
This patch adds the correct convertion to evdev keycodes. After the
patch all keys that are marked as extended in RDP packets become
functionnal (that's the case for the windows key).
Please note that this patch rely on some corrections that have been
pushed on the FreeRDP github tonight.
desktop-shell: better error logging

v2: only call cairo_surface_status once
shell: clear popup grab interface on remove_popup_grab and popup_grab_end

Fixes a segfault. Steps to reproduce:

* start weston with the x11 backend
* open a terminal
* click on the icon in the top left corner, choose close
* close the x11 window containing weston
configure.ac: Bump version to 1.1.0
window: Add a log handler for window.c clients

This way we can see what kind of error we get if we get an error.
text: Add language and text-direction to protocol
text: Add example for language/text direction
keyboard: Reset state on activate
editor: Reset text model on reset

There were some reset calls missing, which resulted in wrong preedit
state on input method side.
text: Fix password content hint value

0xc in this case was a combination of "autocapitalization" (0x4) and
"lowercase" (0x8) instead of "hidden_text" (0x40) and "sensitive_data"
(0x80).
text: Fix some text and input-method docs
view: g_type_init() is deprecated in glib >= 2.35
text: rename text_model::commit to commit_state

Use ::commit_state as a request name to make clear what is commited.
text: Order requests and events in a nice way
text: Rename text_model to text_input

Also rename text_model_factory to text_input_manager.
text: Add "none" preedit-style

Use "default" preedit style as default. "None" is used when the
composing text should look like non-composing text.
editor: Only delete on backspace key released

Do not delete two characters when key is pressed and released.