Support per surface frame events

This fixes tearing with multi head.
diff --git a/clients/window.c b/clients/window.c
index 0c93b9c..ec1714e 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -792,6 +792,12 @@
 	return cairo_surface_reference(window->cairo_surface);
 }
 
+struct wl_surface *
+window_get_wl_surface(struct window *window)
+{
+	return window->surface;
+}
+
 static int
 get_pointer_location(struct window *window, int32_t x, int32_t y)
 {