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