This was more of a refactoring/cleanup experiment. The idea was to get rid of immediate mode drawing (glBegin/glEnd). I chose the most simple option and replaced it with glDrawArray, wrapped in a GFXDraw call. The interface is low level, but gets the job done with a minimum of changes I think. I didn't do any explicit profiling. It should be at least as fast as the previous code, does less glCalls. The whole gfx code could use some more state caching though.
Posting here in the hope it might be useful in some way.