wayland: Check there is valid pointer or keyboard focus for events
wayland: Only process enter and leave events Clutter created surfaces

When combining with GTK we will receive enter and leave events for surfaces
from both toolkits therefore we must filter our events appropriately.
Updated Brazilian Portuguese translation
Updated Traditional Chinese translation(Hong Kong and Taiwan)
wayland: When resizing only trigger a redraw if the stage has been shown

This is necessary to avoid a deadlock with the compositor. When setting
a stage size before the stage was shown this would trigger a redraw
inside clutter_stage_wayland_resize. This redraw would result
in a call into eglSwapBuffers which would attach a buffer to the surface
and commit. Unfortunately this would happen before the role for the
surface was set. This would result in the compositor not relaying to the
client that the desired frame was shown.

With this change the call to wl_shell_surface_set_toplevel is always
made before the first redraw.

https://bugzilla.gnome.org/show_bug.cgi?id=704457
evdev: add a way for applications to tweak how devices are opened

In some cases, applications (or actually, wayland compositors)
don't have the required permissions to access evdev directly, but
can do so with an external helper like weston-launch.

Allow them to do so with a custom callback that replaces the regular
open() path.

https://bugzilla.gnome.org/show_bug.cgi?id=704269
evdev: fix X11 to evdev keycode translation

Hardware keycodes in Clutter events are x11 keycodes, which are
the same as evdev + 8, but we need to reverse the translation when
explicitly asked for an evdev keycode.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
evdev: fix xkb_state handling

We must pass X11 keycodes, not evdev ones, to libxkbcommon,
otherwise the modifier state is wrong.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
evdev: remove dead code

ClutterDeviceManager uses g_object_new directly, to pass the
necessary properties down.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
evdev: add master / slave device handling

All evdev devices are slave devices, which means that xkb state
and pointer position must be shared by emulating a core keyboard
and a core pointer. Also, we must make sure to add all modifier
state (keyboard and button) to our events.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
evdev: allow hooking directly into libxkbcommon

A wayland compositor needs to have more keyboard state than
ClutterModifierState exposes, so it makes sense for it to use
xkb_state directly. Also, it makes sense for it to provide
it's own keymap, to ensure a consistent view between the compositor
and the wayland clients.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
evdev: don't update xkb state for autorepeated keys

xkb_state_update_key() needs to be called only on state transitions,
otherwise the state tracking gets confused and locks certain modifiers
forever.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
evdev: implement wheel events

Mouse wheel events come as EV_REL/REL_WHEEL, and we can convert
them to clutter events on the assumption that scrolling with
the wheel is always vertical.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
Updated Slovenian translation
Updated Slovenian translation
docs: Use the correct signal name

ClutterTransition:remove-on-complete uses the ClutterTimeline::stopped
signal, as it's the signal that tells us that the timeline's duration
has fully elapsed.
actor: Do not set remove-on-complete on implicit transitions

The implicitly created transitions are removed when complete by the
implicit transition machinery. The remove-on-complete hint is for
user-provided transitions.

https://bugzilla.gnome.org/show_bug.cgi?id=705739
build: Ensure tests are built only on make check

Tests should only be enabled when we want to run them, or when we are
generating a tarball.
Show if we are installing the tests in the configure summary
build: Generate gitignore on BUILT_SOURCES

The test-unit-names.h header file is generated unconditionally, so we
need to generate the gitignore file that references it along with the
header.