Redefine Squared.Render.Batch.Dispose to behave more like you'd expect: It indicates that the RenderManager can free the batch once it's done drawing it. As a result you can draw a batch more than once (the Batch.Reuse(container) method lets you add an existing batch to a new frame/container).
Add extensible support for merging together batches that share the same layer ID and attributes to improve performance.
Add a basic batch merger for BitmapBatches so that you can be lazy about batching and still get good performance.