Add `scaleMatchesZoom` (defaults to `true`)

When `scaleMatchesZoom` is `true` and `scale` is `> 1`, the backend will
fetch tiles at lower zoom levels for increased quality.

Disabling this is necessary for rendering retina tiles (512x512) with
the same content as the non-retina versions.