Basic OpenGL back-end with a working triangle example

Fixes #1 
Closes #8