Batching

Closes #282
`BatchState`, `BatchManager`, `BatchContext`... yeah I guess `gfx::batch::Context` is good.