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.
This seems a bit undesirable. Is there a way that things can be refactored so the scale isn't applied and then unapplied?