Move BufferRequest request code from CompositorData into Compositor

Once we remove the integration with Servo's layer scaling, this will
make it easier pull requesting buffers into rust-layers.
Layer bounds and buffer requests should use layer coordinates

Instead of passing a scaling factor down to rust-layers and keeping all
layers in page coordinates, work in layer coordinates. This is much more
natural, as the compositor and rust-layer should really need to care
about any potential contents zoom. It will also allow us to move more
code into rust-layers in a later commit.
Merge pull request #2945 from mrobinson/disentangle-scale

Untangle contents scale from rust-layers