Remove unnecessary glBindBuffer calls, improve error handling

Specifically, quit when the shader program fails to compile or link, and
stop printing the contents of the shader when it doesn't compile