compositor: restructure weston_surface::transform

Separate mutable data and cached immutable data in struct
weston_surface.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/shell.c b/src/shell.c
index 49b0b10..d6e0205 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -979,7 +979,7 @@
 	r = sqrtf(dx * dx + dy * dy);
 
 	wl_list_remove(&surface->rotation.transform.link);
-	surface->surface->transform.dirty = 1;
+	surface->surface->geometry.dirty = 1;
 
 	if (r > 20.0f) {
 		struct weston_matrix roto;
@@ -999,8 +999,9 @@
 		weston_matrix_translate(matrix, rotate->center.x,
 					rotate->center.y, 0.0f);
 
-		wl_list_insert(surface->surface->transform.list.prev,
-			       &surface->rotation.transform.link);
+		wl_list_insert(
+			surface->surface->geometry.transformation_list.prev,
+			&surface->rotation.transform.link);
 	} else {
 		wl_list_init(&surface->rotation.transform.link);
 	}