compositor: make GL_EXT_read_format_bgra optional

Some GL implementations do not provide GL_EXT_read_format_bgra
extension.

Set a glReadPixels format based on whether the extensions is supported
or not, and use that format in all backends.

Add RGBA->BGRA swapping copy to screenshooter to keep the shm buffer
data format as BGRA.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/compositor.c b/src/compositor.c
index ac5e91c..17daac4 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2391,10 +2391,10 @@
 		return -1;
 	}
 
-	if (!strstr(extensions, "GL_EXT_read_format_bgra")) {
-		fprintf(stderr, "GL_EXT_read_format_bgra not available\n");
-		return -1;
-	}
+	if (strstr(extensions, "GL_EXT_read_format_bgra"))
+		ec->read_format = GL_BGRA_EXT;
+	else
+		ec->read_format = GL_RGBA;
 
 	if (strstr(extensions, "GL_EXT_unpack_subimage"))
 		ec->has_unpack_subimage = 1;