Store content offset in unscaled pixels
This is necessary because the renderer pre-scales the scene when applying content offset. We also store a scene scale instead of a scene transformation, so that we know how to properly deal with device pixels. Also ensures that content offset is not accumulated when rendering layers.