Store scene scale instead of scene transform

This allows the renderer to compensate for scene scale when adjusting
tile position by content offset, which is stored in device pixels.
Since the offset must be done in scaled pixels (since all layer
positioning is done with a scaling transform), the offset must be
divided by the scale before translating the transformation matrix.

This also ensures that content offset is not accumulated when rendering
layers.
Hrm. One thing we could do is to store the contents_scale in scaled units. The issue, I think is that we need to convert to unscaled units when calculating buffer requests. Perhaps that is a better approach...