Refactor grid labeling visualization as a separate object
The OpenGLRenderer is becoming humongous. Tracking the state of all elements at once becomes more burdensome, simply because the code is becoming a huge wall of text. Instead, we should strive to have separate objects doing their own little rendering job and tracking necessary state.
My hope is that this gradual process of separating different pieces will also help us to increase the reusability of the code, instead of a blind copy-paste process.