Only request tiles which have out-of-date content

Instead of constantly requesting tiles and throttling requests, only
request tiles if the application signals that the layer contents have
changed.
I think your concerns are reasonable, but in general we shouldn't favor a simpler interface for hypothetical secondary clients of rust-layers if it hurts the readability / enforced correctness of Servo code. Having the interface split is still very helpful even if we don't have any other clients,  though.

I recommend we just discuss this at some point after this PR.