That was easy.
Refactored vectors to have a dirty flag.
Finished image rendering, with texture offsets.
Modified GLProgram so that attribute pointers can be created separately.
VBOs can now be partially updated.
Minor BufferHelper refactor.