support Vertex Array Objects if available via extension, otherwise provide simple emulation of vertex setup