compositor: add an assign_planes hook to the output

This allows each output back end to optimize drawing using overlay planes
and cursors (yet to be integrated).  If a surface is assigned to a
plane, the back end should clear its damage field so that the later
repaint code won't look at it.
diff --git a/src/compositor.c b/src/compositor.c
index 3797a71..4cd8d99 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -986,6 +986,15 @@
 				      &es->transform.boundingbox);
 	}
 
+	if (output->assign_planes)
+		/*
+		 * This will queue flips for the fbs and sprites where
+		 * applicable and clear the damage for those surfaces.
+		 * The repaint loop below will repaint everything
+		 * else.
+		 */
+		output->assign_planes(output);
+
 	weston_output_set_cursor(output, ec->input_device);
 
 	wl_list_for_each(es, &ec->surface_list, link) {