BLT + Graphics + Emscripten
TODO: some of the API is inconsistent.
Textures bind themselves but FBOs do not.
make more use of factory functions