compositor: drop inverse matrix from weston_transform

Remove the inverse matrix member from struct weston_transform. It is
easier (and probably faster, too) to create and store only forward
transformation matrices in a list, multiply them once, and then invert
the final matrix, rather than creating both forward and inverse
matrices, and multiplying both.

Add a stub for the 4x4 matrix inversion function.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/compositor.h b/src/compositor.h
index bec45c4..5312665 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -36,7 +36,6 @@
 
 struct weston_transform {
 	struct weston_matrix matrix;
-	struct weston_matrix inverse;
 	struct wl_list link;
 };
 
@@ -229,7 +228,9 @@
 		struct wl_list list;
 		int dirty;
 
-		struct weston_transform cached;
+		/* derived state, set up by weston_surface_update_transform */
+		struct weston_matrix matrix;
+		struct weston_matrix inverse;
 		int enabled;
 	} transform;