Introduce weston-launch

weston-launch starts weston and provides mechanism
for weston to set/drop drm master, open a tty,
and read input devices without being root.

Execution is allowed for local-active sessions
or users in the group weston-launch.
diff --git a/src/compositor.h b/src/compositor.h
index ea18b7b..507f549 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -231,6 +231,7 @@
 	int (*authenticate)(struct weston_compositor *c, uint32_t id);
 
 	struct screenshooter *screenshooter;
+	int launcher_sock;
 };
 
 #define MODIFIER_CTRL	(1 << 8)
@@ -443,6 +444,9 @@
 			      struct weston_input_device *device,
 			      uint32_t time,
 			      uint32_t key, uint32_t button, uint32_t axis, int32_t state);
+int
+weston_environment_get_fd(const char *env);
+
 struct wl_list *
 weston_compositor_top(struct weston_compositor *compositor);