I'm sure having the qgl API made sense at some point in time (GL 1.x) however now it's just a pain for doing any kind of porting. The qgl API is a set of function pointers which are initialized by the renderer to point to the real gl API functions (or logging wrappers.) e.g. glClear() becomes qglClear()
I think the original reason for this was logging GL calls (a valid reason, at the time) and handling extensions. IMHO logging could be implemented easier using a GL tracing library (there are a few; Google) and GREMEDY_string_marker for renderer specific messages (begin of function foobar(), etc.)
Actually this is what Robert is doing for XreaL-ET branch, however it's not on the mainline branch yet. I think I'll cherry pick these changes over before doing more work on GLES2 for XreaL. Otherwise the qgl API is going to turn GLES2 support into a massive ifdef mess...
I am quite interested to see what kind of performance SGX can get out of a real VBO optimized renderer.