Fix sub-compositor duplicated symbols

With moving wl_subcompositor to core wayland, we have duplicate definitions
in the headers we include from wayland and the ones we generate.  Use the
WL_SUBCOMPOSITOR_ERROR_ENUM #define to conditionally include the
subsurface headers we generate.
diff --git a/clients/window.h b/clients/window.h
index 4427ab5..4ae6088 100644
--- a/clients/window.h
+++ b/clients/window.h
@@ -28,7 +28,10 @@
 #include <cairo.h>
 #include "../shared/config-parser.h"
 #include "../shared/zalloc.h"
+
+#ifndef WL_SUBCOMPOSITOR_ERROR_ENUM
 #include "subsurface-client-protocol.h"
+#endif
 
 #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
 
diff --git a/src/compositor.c b/src/compositor.c
index 36b54b5..9c7ae1a 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -53,11 +53,14 @@
 #endif
 
 #include "compositor.h"
-#include "subsurface-server-protocol.h"
 #include "../shared/os-compatibility.h"
 #include "git-version.h"
 #include "version.h"
 
+#ifndef WL_SUBCOMPOSITOR_ERROR_ENUM
+#include "subsurface-server-protocol.h"
+#endif
+
 static struct wl_list child_process_list;
 static struct weston_compositor *segv_compositor;
 
diff --git a/tests/subsurface-test.c b/tests/subsurface-test.c
index 98e00fe..99e9d6d 100644
--- a/tests/subsurface-test.c
+++ b/tests/subsurface-test.c
@@ -23,9 +23,12 @@
 #include <string.h>
 
 #include "weston-test-client-helper.h"
-#include "subsurface-client-protocol.h"
 #include <stdio.h>
 
+#ifndef WL_SUBCOMPOSITOR_ERROR_ENUM
+#include "subsurface-client-protocol.h"
+#endif
+
 #define NUM_SUBSURFACES 3
 
 struct compound_surface {