Smarter hardware acceleration

* Significant improvement to iOS Safari performance — now tiles aren't HW-composited layers (which makes no sense after all), and they're positioned using translate2d. Especially noticeable when pinch-zooming out.
* this also magically fixes gaps between tiles in desktop Safari, and non-retina tiles don't appear blurry on retina in it as well

I had to resort to a very obscure hack to fix things in Safari — previously the tile layer was stretching weirdly after panning to the right or bottom. After the hack (putting a 1px translated element in the top corner), it doesn't happen much, BUT sometimes still happens, and we need to fix that. Easy way to reproduce is opening `vector-simple.html` in iPad and pan just slightly south so that new row of tiles gets loaded. It will stretch vertically, but if you keep panning, things will get back to normal. This is driving me nuts.

**update:** still bugs out on iPhone 5s even with the hack. But what's interesting is that the bug only happens on the first pans, and stops appearing when you pan further. So maybe HW accel switches to some different mode when the element becomes bigger, and we need to figure out how to trigger this mode from the start.
**update2:** one more clue: doing [this hack](http://stackoverflow.com/a/3485654/244789) to force tile container redraw fixes the bugs but introduces flickering. 
**update3**: fixed it with another hack (setting tile containers to 1600 width/height)

Also needs to be tested across devices (I'm especially interested in Android & IE11) — any help appreciated. 

cc @danzel @jfirebaugh @tmcw