gdk: Ensure flush of surface when cairo_t is destroyed
gdk: Ensure flush of surface when cairo_t is destroyed

Add an ugly workaround because GTK does not ensure surfaces get flushed
before directly accessing the drawable backed by the surface. This is
not visible on X11 (where flushing is a no-op), but can be seen on
Windows.

https://bugzilla.gnome.org/show_bug.cgi?id=628291

Unity-Technologies/gtk,Unity-Technologies/gtk,johne53/MB3Gtk-2,johne53/MB3Gtk-2,Distrotech/gtk,Unity-Technologies/gtk,Distrotech/gtk,Distrotech/gtk,Unity-Technologies/gtk,johne53/MB3Gtk-2,Distrotech/gtk,Unity-Technologies/gtk,Distrotech/gtk,johne53/MB3Gtk-2,johne53/MB3Gtk-2