Add possible capabilities CURSOR_PLANE and ARBITRARY_MODE

The CURSOR_PLANE capability indicates that the backend has a concept of a
cursor plane and can handle a cursor without compositing.  This is currently
only advertised by the DRM backend.

The ARBITRARY_MODE flag specifies that the backend is capable of switching to
virtually any resolution.  This is currently only advertised in the RDP
backend.  While it's a bit buggy right now, it should be capable of this.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 77caddf..3c15ec3 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -2788,6 +2788,11 @@
 		goto err_sprite;
 	}
 
+	/* A this point we have some idea of whether or not we have a working
+	 * cursor plane. */
+	if (!ec->cursors_are_broken)
+		ec->base.capabilities |= WESTON_CAP_CURSOR_PLANE;
+
 	path = NULL;
 
 	if (udev_input_init(&ec->input,