Allow arbitrary scale to be specified, e.g. @4.2x (particularly useful for static api)
Allow arbitrary scale to be specified, e.g. @4.2x (particularly useful for static api)

This allows an arbitrary scale to be specified rather than just @1x,
@2x, or @3x (actually @1x cant currently be explicitly be set). This is
particularly useful for the static api when using it to generate maps
for printing.

This also implements a cache of 100 sourceURIs (randomly evicted) so
that it isn't re-creating the sourceURI for each tile drawn. If we were
to save the sourceURIs permanently the list could grow infinitely over
time. scales 1, 2 and 3 are never evicted from the cache.

samwillis/tessera,samwillis/tessera