Restore specular lighting--but, per the OpenGL spec, shut off specular
contribution if the surface isn't facing the light.
Added missing unlock that was causing a hang.
Merge pull request #2882 from ey6es/master

Restore specular lighting--but, per the OpenGL spec, shut off specular