compositor: gather buffer_transform and _scale into a struct

Gather the variables affecting the coordinate transformations between
buffer and local coordinates into a new struct weston_buffer_viewport.

This will be more useful later, when the crop & scale extension is
implemented.
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index a1d9d59..c34fc1c 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -463,7 +463,7 @@
 	    buffer == NULL || c->gbm == NULL ||
 	    buffer->width != output->base.current_mode->width ||
 	    buffer->height != output->base.current_mode->height ||
-	    output->base.transform != ev->surface->buffer_transform ||
+	    output->base.transform != ev->surface->buffer_viewport.transform ||
 	    ev->transform.enabled)
 		return NULL;
 
@@ -818,10 +818,10 @@
 	if (c->gbm == NULL)
 		return NULL;
 
-	if (ev->surface->buffer_transform != output_base->transform)
+	if (ev->surface->buffer_viewport.transform != output_base->transform)
 		return NULL;
 
-	if (ev->surface->buffer_scale != output_base->current_scale)
+	if (ev->surface->buffer_viewport.scale != output_base->current_scale)
 		return NULL;
 
 	if (c->sprites_are_broken)
@@ -931,8 +931,9 @@
 
 	tbox = weston_transformed_rect(wl_fixed_from_int(ev->geometry.width),
 				       wl_fixed_from_int(ev->geometry.height),
-				       ev->surface->buffer_transform,
-				       ev->surface->buffer_scale, tbox);
+				       ev->surface->buffer_viewport.transform,
+				       ev->surface->buffer_viewport.scale,
+				       tbox);
 
 	s->src_x = tbox.x1 << 8;
 	s->src_y = tbox.y1 << 8;