Update Hebrew translations

RTL locales need to translate the "default:LTR" string to have
clutter_actor_get_text_direction() return the expected result;
as GNOME Shell now makes use of that API, users of RTL locales
would be up for an unpleasant surprise, so add the required
translation.

https://bugzilla.gnome.org/show_bug.cgi?id=671736
Add skeleton translations for RTL locales

RTL locales need to translate the "default:LTR" string to have
clutter_actor_get_text_direction() return the expected result;
as GNOME Shell now makes use of that API, users of RTL locales
would be up for an unpleasant surprise, so add all locales that
translate "default:LTR" to "default:RTL" in GTK+.

https://bugzilla.gnome.org/show_bug.cgi?id=671736
Updated Polish translation
Updated Belarusian translation.
Updated Catalan translation
Add initial Khmer translation
Updated Serbian translation
Updated Russian translation
Add partial Finnish translation
Updated Odia Translation
gdk: add new device types (GDK_SOURCE_TOUCHSCREEN, GDK_SOURCE_TOUCHPAD)

https://bugzilla.gnome.org/show_bug.cgi?id=671779
Bump up the GDK dependency

Commit ac6ce79aa389982c3e7113f6192f492a6e21b4b1 introduced a dependency
on the latest GDK symbols, so we need to bump up the required version of
GDK.
Add PaintNode, an element on the render object tree

Now that we have a proper scene graph API, we should split out the
rendering part from the logical and event handling part.

ClutterPaintNode is a lightweight fundamental type that encodes only the
paint operations: pipeline state and geometry. At its most simple, is a
way to structure setting up the programmable pipeline using a
CoglPipeline, and submitting Cogl primitives. The important take away
from this API is that you are not allowed to call Cogl API like
cogl_set_source() or cogl_primitive_draw() directly.

The interesting approach to this is that, in the future, we should be
able to move to a purely retained mode: we will decide which actors need
to be painted, they will update their own branch of the render graph,
and we'll take the render graph and build all the rendering commands
from that.

For the 1.x API, we will have to maintain invariants and the existing
behaviour, but as soon as we can break API, the old paint signal will
just go away, and Actors will only be allowed to manipulate the render
tree.
actor: Add paint_node virtual function

The ::paint-node virtual inside ClutterActor is what we want people to
use when painting their actors.

Right now, it's a new code path, that gets called while painting; the
paint_node() implementation should only paint the actor itself, and not
its children — they will get their own paint_node() called when needed.

Internally, ClutterActor will automatically create a dummy PaintNode and
paint the background color; then control will be handed out to the
implementation on the class. This is required to maintain compatibility
with the old ::paint signal emission.

Once we are able to get rid of the paint (and pick) sequences, we'll
switch to a fully retained render tree.
Add ClutterContent

ClutterContent is an interface for creating delegate objects that handle
what an actor is going to paint.

Since they are a newly added type, they only hook into the new PaintNode
based API.

The position and size of the content is controlled in part by the
content's own preferred size, and by the ClutterContentGravity
enumeration.
docs: Update documentation on the paint sequence
docs: Update the API reference

Add all the new symbols.
paint-node: Use JSON-GLib for debug serialization

Instead of our homegrown string building; this at least ensures that
we're generating proper data, instead of random strings. Plus, using
JsonNode and JsonBuilder, we can ask the PaintNode subclasses to
serialize themselves in a sensible way.
content: Make vfuncs optional

The virtual functions on the ClutterContent interface should provide
hooks for application code, not be the actual implementation.
content: Turn attached and detached into signals

The attached and detached virtual functions are now informative, and not
normative - which means it's a good idea to provide them as signals.