shell: quit weston, if weston-desktop-shell dies early

If weston-desktop-shell dies soon after launch, or maybe cannot be
executed at all, let weston exit rather than letting the user stare at a
black screen.

But, do not exit weston, if weston-desktop-shell dies later, as the user
may already have apps open, and those apps would likely still function
correctly. This gives the user the opportunity to save his work and
close the apps properly.

This should make one class of "I see only black screen" failures obvious.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
diff --git a/desktop-shell/shell.h b/desktop-shell/shell.h
index 67c5f50..2cfd1d6 100644
--- a/desktop-shell/shell.h
+++ b/desktop-shell/shell.h
@@ -23,6 +23,7 @@
  */
 
 #include <stdbool.h>
+#include <time.h>
 
 #include "compositor.h"
 
@@ -209,6 +210,8 @@
 	enum desktop_shell_panel_position panel_position;
 
 	char *client;
+
+	struct timespec startup_time;
 };
 
 struct weston_output *