Added rudimentary GL-specific boilerplate

_NOTE_
Despite various debugging rabbit holes, `main` crashes on glDrawElements
when compiled on my machine. I'm still working on troubleshooting hence
while this is in its own branch and not yet in main.

Commit includes:
- utility functions for loading shaders, buffers, etc.
- utility functions for loading files to strings
- utility functions for error checking and debugging
- init() and render() implementations
- init() to set up buffers, shaders, program, etc
- render() to wire data to shaders and draw (ideally)

Will continue to work on source of crash by running through different
drivers.