GLCanvas

Everybody loves OpenGL, right? Hello?
No worries. I did my best to copy what was done in `EnableCanvas`, but the declarative methods provide a unique challenge.