make tdl buffers settable after creation
Add vertexbasedtilemap.js.

tilemap.js does all the work of looking up tiles from the map and
then drawing the correct tile image from a tileset in the fragment shader.
This potentially makes it slow since it's doing the work once per pixel.
For a 1920x1080 screen that would be nearly 2 million times.

vertexbasedtilemap.js instead does all the hard work in the vertex shader.
For a 1920x1080 screen with 16x16 tiles that's 52k vertices which is
a lot less work than 2 million.

Unfortunately I didn't see a difference in speed on the machines I tested
it on. Both my Nexus5 and my MacBook Pro's integrated graphcis ran at
the same speed with either version.

But I don't want to throw this code away so I'm checking it in for now.
It's not finished. It doesn't repeat the level like the other tilemap.js.
It also doesnt't scroll yet, nor rotate. And, it has an issue with bleeding
across tiles because of subpixel rendering?
make audio.js return AudioBufferSourceNode on play.

This lets you manipulate the sound. Though you need to
check you actually got it in case you're running on Audio tags
make music go faster last 30 seconds in boomboom