Feature/simplify shadow glsl

Refactor the Phong GLSL generator to separate the lighting step from the shadow step. Fewer calls to glUniform now need to be made if there are more than one of any type of light.