gtk-clutter-actor: fix inconsistent condition in actor update

Using the gdk backend of Clutter, you could end up in situation where
none of the embedded widgets were being displayed. That's because the
conditions for invalidating the canvas where inconsistent with the
rest of the code.

https://bugzilla.gnome.org/show_bug.cgi?id=734905
gtk-clutter-embed: use draw() from Gtk+ as Expose event for the GDK backend

GtkClutterEmbed puts a filter on its GdkWindow to capture events and
pass them to the ClutterBackend. That works well for X11, because the
filter function receives an XEvent that can be directly fed to the
ClutterX11Backend.

For the GDK backend we can't do this because the filter function
provides an untranslated event to the callee. Thus we can't give a
valid GdkEvent to the ClutterGDKBackend.

To work around this problem the current GtkClutterEmbed listen to the
'event' signal of its widget, and puts fed them to the
ClutterGDKBackend.

The problem with this is that Gtk+ already does some filtering, mostly
on Expose events. This means that initially a GtkClutterEmbed often
appears unpainted with the Gdk backend of Clutter.

This patch adds the draw() vfunc on the widget and triggers a
clutter_actor_queue_redraw() upon call only for the GDK backend.

https://bugzilla.gnome.org/show_bug.cgi?id=734906
gtk-clutter-embed: don't use queue redraw on gtk+'s draw()

Calling clutter_actor_queue_redraw() triggers an asynchronous redraw
cycle, which triggers the callback from gtk-clutter-embed on the
'queue-redraw' signal, thus triggering another GTK+ paint cycle.

This ends up in a infinite draw loop.

This patch uses the clutter_stage_ensure_redraw() methods, which
prevents the 'queue-redraw' signal emission (this is exactly what we
want).

https://bugzilla.gnome.org/show_bug.cgi?id=734906
Prefer the GDK windowing backend for Clutter

If Clutter has a GDK backend compiled in, we want to use that to
minimize the interaction surface between GTK and Clutter.
build: Depend on Clutter ≥ 1.18
actor: Ignore deprecated API

We really need to drop the internal usage of ClutterX11TexturePixmap.
embed: Ignore deprecation warnings

We *really* need to disable double buffering in GTK, otherwise we
flicker horribly.
offscreen: Fix deprecation warnings

Don't use deprecated API, or disable deprecation warnings if that's not
possible without a more thorough investigation.
texture: Ignore deprecation warnings

The whole GtkClutterTexture class should be deprecated, and replaced by
a GtkClutterPixbuf class that implements the ClutterContent interface.
util: Ignore deprecation warnings
window: Drop deprecated API
build: Drop INCLUDES directives

They have been long since deprecated by AM_CPPFLAGS and AM_CFLAGS.
examples: Remove unused variables

Silences the compiler warning.
Release Clutter-GTK 1.5.4
Post-release version bump to 1.5.5
Revert "Prefer the GDK windowing backend for Clutter"

This reverts commit 0fc73a07770223964dbf41a20a4b0a8c3ef9a29c.

I could have gotten away with this, if it wasn't for you meddling kids
and your Wayland.
examples: Add a GtkStack to the examples

Clicking on the "clickety" button in the gtk-clutter-test
will toggle, in a GtkStack, between a label, and a clutter-gtk
stage. It doesn't take very long to see the display artifacts after
that.

https://bugzilla.gnome.org/show_bug.cgi?id=695737
gtk-clutter-embed: Fix hiding embed inside container

Such as the embed inside a GtkStack, as used in Cheese or Totem.

With help from Matthias Clasen (positioning inside the window), and
Jasper St. Pierre (Wayland API help).

https://bugzilla.gnome.org/show_bug.cgi?id=736564
Drop re-definition of a symbol

We are disabling deprecation warnings in the build.
Release Clutter-GTK 1.6.0