Switch to using glm for camera/perspective rather than glu

Also correct invalid use of normals in the shader. We needed to multiply
the normal by the normal matrix before use.