Update Visual C++ projects

-Make things a bit cleaner by generating clutter.def in the intermediate
 build folder
-Fix the include paths as config.h is now in clutter/
-Make things a little bit more consistent between vs9 and vs10 in terms of
 the "install" stage
[l10n] Update Japanese translation
[l10n] Updated Italian translation.
Updated Czech translation
main: Do not release the lock if it hasn't been acquired

On various systems, trying to release a mutex that hasn't been acquired
will result in a run-time error.

In order to avoid this, we trylock() the Big Clutter Lock™ and
immediately unlock() it, regardless of the result; if the lock was
already acquired, trylock() will immediately fail, and we can release
it; if the lock was not acquired, trylock() will succeed, and we can
release the lock immediately.

This is necessary to maintain binary compatibility and invariants for
Clutter applications doing:

  clutter_init()
  clutter_threads_enter()
  ...
  clutter_main()
  ...
  clutter_threads_leave()

instead of the correct:

  clutter_init()
  clutter_threads_enter()
  ...
  clutter_threads_leave()
  clutter_main()
  clutter_threads_enter()
  ...
  clutter_threads_leave()

With Clutter ≥ 1.12, the idiomatic form is:

  clutter_init()
  ...
  clutter_main()

given that the public Big Clutter Lock™ acquire/release API has been
deprecated, and nobody should take the lock outside of Clutter itself.

https://bugzilla.gnome.org/show_bug.cgi?id=679439
Post-branch version bump to 1.13.1
actor: Place coordinate of the pivot point in the right pointer
version: Add 1.14 version macros

https://bugzilla.gnome.org/show_bug.cgi?id=685028
events: Deliver touch events that continue off stage (soft grab)

If a button press happen on stage and the pointer is moved outside
the stage while holding the mouse button, the motion and release
events are still delivered to actors. Do the same X11 soft grab
emulation for touch events.

https://bugzilla.gnome.org/show_bug.cgi?id=685589
gesture-action: Make _cancel() callable after the gesture has started

https://bugzilla.gnome.org/show_bug.cgi?id=685554
Updated German translation
test: Only run X11-specific code when using X11

The X11-specific windowing checks were hidden behind an #ifdef, however
if the tests were run under Wayland, they would execute uncondionally
and cause assertion failures.  Fix this by also hiding them behind a
check that the current backend is indeed X11.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
EGL: Include cogl-egl.h for prototypes

Looks like we need to include this directly, but also need to include
cogl/cogl.h to get COGL_HAS_EGL_SUPPORT, since cogl-egl.h doesn't
include cogl-defines.h first.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Port to new Wayland and xkbcommon APIs

For Wayland, this is mostly the input protocol having changed, although
there's also the SHM pool API, the cursor API, as well as fullscreen and
ping.

Also port to the new (months-old) xkbcommon API, as used by Weston 0.95.
This involves having xkbcommon manage the state for us, where
appropriate.  Fans of multi-layout keyboards (or just caps lock) will no
doubt appreciate these changes.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Wayland: Add key repeat

Add support for repeating keys to the Wayland input backend.
Unfortunately the repeat delay/interval is hardcoded into the Clutter
backend, as Wayland doesn't yet tell clients what the global values
should be.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Wayland: Set default font DPI to 96

Otherwise the units test fails, since the default DPI is set to -1.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Hide clutter_input_device_wayland and clutter_stage_wayland types

By prefixing them with an underscore, so they don't get exported as part
of public ABI.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
clutter.symbols: Update for Wayland changes

make check now passes under Wayland.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
abicheck: Add CLUTTER_WINDOWING_WAYLAND

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
wayland: Use wl_cursor_theme to provide a buffer for the Wayland cursor

This change switches to the new mechanism for loading a cursor into a buffer.
It no longer relies on having a PNG stored in a known location and instead
loads from the Wayland cursor theme.

Signed-off-by: Rob Bradford <rob@linux.intel.com>