rename layer._renderer to renderer, there's no need for it to be considered private
restore support for passing an object (instead of just a URL) when the renderer is created
support dynamic style changes without reloading external resources
switch stylesheet back to using meters as its native unit (instead of local tile units, which aren't intuitive)
move style parsing to style.js
minor reorg of zoom/bounds/visiblility tracking