Commenting to explain how things work; small shader bugs fixed

Added extensive commenting to help explain some of the math and
programming behind the OpenGL calls and shader design.  It's far from
exhaustive, but it should hopefully be a good start.