Add support for having different GBM formats for different outputs

The gbm-format configuration option can now be specified per-output as
well as in the core config section. If it is not specified it will
default to the format specified in the core section. The
EGL_MESA_configless_context extension is required for this to work. If
this extension is available it will create a context without an
EGLConfig and then it will potentially use a different EGLConfig for
each output.

The gl-renderer interface has been changed so that it takes the EGL
attributes and visual ID in the create_output function as well as in
the create function.
diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
index 0d96269..d1013e8 100644
--- a/src/compositor-fbdev.c
+++ b/src/compositor-fbdev.c
@@ -628,7 +628,9 @@
 	} else {
 		setenv("HYBRIS_EGLPLATFORM", "wayland", 1);
 		if (gl_renderer->output_create(&output->base,
-					(EGLNativeWindowType)NULL) < 0) {
+					       (EGLNativeWindowType)NULL,
+					       gl_renderer->opaque_attribs,
+					       NULL) < 0) {
 			weston_log("gl_renderer_output_create failed.\n");
 			goto out_shadow_surface;
 		}