compositor: move opaque tracking into transform

Move the surface opaque region setup from weston_surface_configure() to
weston_surface_update_transform(), so we have less reason to call
update_transform from configure. Opaque region depends on geometry,
after all.

Also move the opaque field from weston_surface to
weston_surface::transform to make this obvious.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/compositor.h b/src/compositor.h
index 80b848d..2cb3dba 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -243,7 +243,6 @@
 	struct weston_compositor *compositor;
 	GLuint texture;
 	pixman_region32_t damage;
-	pixman_region32_t opaque;
 	int32_t pitch;
 	struct wl_list link;
 	struct wl_list buffer_link;
@@ -272,6 +271,7 @@
 	 */
 	struct {
 		pixman_region32_t boundingbox;
+		pixman_region32_t opaque;
 
 		/* matrix and inverse are used only if enabled = 1.
 		 * If enabled = 0, use x, y, width, height directly.