Performance Fixes

This PR tries to improve the performance of the bunny-mark benchmark by optimizing read / write operations in the data buffer. We can now handle roughly 10K bunnies at 60 FPS without rendering (animating + pumping updates + deserializing). 2D backend is around 1K @ 60 FPS, WebGL is around 4K @ 60 FPS.

Still a lot more to improve.