refactored shape and QuadShape for VBOs

- adding VBO caches for VBO reuse