compositor: Always set output_mask in weston_surface_update_output_mask().

Commit 982387011 causes a bug where starting weston results in a black screen
(if no clients are immediately started). The problem is that the offending
commit causes the compositor to not damage if a surface has an empty output
mask, which is the case for the fade surface, which is created by the
compositor.  This patch updates the surface output_mask unconditionally,
and only skips sending out the events if there no client.
diff --git a/src/compositor.c b/src/compositor.c
index faed8f2..a3273dc 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1349,12 +1349,12 @@
 	struct wl_resource *resource = NULL;
 	struct wl_client *client = es->surface.resource.client;
 
+	es->output_mask = mask;
 	if (es->surface.resource.client == NULL)
 		return;
 	if (different == 0)
 		return;
 
-	es->output_mask = mask;
 	wl_list_for_each(output, &es->compositor->output_list, link) {
 		if (1 << output->id & different)
 			resource =