add additional GLSL program sanity checks
add additional error checking to kuhl_get_uniform
print the matrix to the console whenever matrix inversion functions fail
save and restore more state variables in kuhl_geometry_draw()
add additional error checking in