Implemented Specular lighting

Specular highlights
Specular reflections
Fixed up light calculations to appropriately match reality
   Added in attenuation (jesus why wasn't that already there)