window: Add a way to retrieve a window's output transform

Add the output_get_transform() entry point and an output handler hook.
diff --git a/clients/window.c b/clients/window.c
index d08542d..de9e8d1 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -221,6 +221,7 @@
 	window_drop_handler_t drop_handler;
 	window_close_handler_t close_handler;
 	window_fullscreen_handler_t fullscreen_handler;
+	window_output_handler_t output_handler;
 
 	struct wl_callback *frame_cb;
 
@@ -3387,6 +3388,13 @@
 }
 
 void
+window_set_output_handler(struct window *window,
+			  window_output_handler_t handler)
+{
+	window->output_handler = handler;
+}
+
+void
 window_set_title(struct window *window, const char *title)
 {
 	free(window->title);
@@ -3446,6 +3454,10 @@
 	window_output->output = output_found;
 
 	wl_list_insert (&window->window_output_list, &window_output->link);
+
+	if (window->output_handler)
+		window->output_handler(window, output_found, 1,
+				       window->user_data);
 }
 
 static void
@@ -3465,6 +3477,11 @@
 
 	if (window_output_found) {
 		wl_list_remove(&window_output_found->link);
+
+		if (window->output_handler)
+			window->output_handler(window, window_output->output,
+					       0, window->user_data);
+
 		free(window_output_found);
 	}
 }
@@ -3892,6 +3909,12 @@
 	return output->output;
 }
 
+enum wl_output_transform
+output_get_transform(struct output *output)
+{
+	return output->transform;
+}
+
 static void
 fini_xkb(struct input *input)
 {