window: Remove display_flush_cairo_device

Rather add a flush_surface utility that
flushed the cairo_device thats associated to a surface.
diff --git a/clients/dnd.c b/clients/dnd.c
index 707ef5d..5bfe31c 100644
--- a/clients/dnd.c
+++ b/clients/dnd.c
@@ -35,6 +35,7 @@
 #include "wayland-client.h"
 
 #include "window.h"
+#include "cairo-util.h"
 
 struct dnd {
 	struct window *window;
@@ -544,7 +545,7 @@
 	cairo_surface_destroy(pointer);
 	cairo_paint(cr);
 	/* FIXME: more cairo-gl brokeness */
-	display_flush_cairo_device(dnd->display);
+	surface_flush_device(surface);
 	cairo_destroy(cr);
 
 	dnd_drag->hotspot_x = pointer_width + x - item->x;