Changed shininess property to specular intensity.
Added Smoothness property
Now with smoothness + specular intensity you should be able to get much better highlight/gloss look now
Fixed an issue with spotlight direction calculation being wrong, causing incorrect spec highlights
Fixed an issue reported by Skynet, where albedo color was not clamped by alpha, causing too much highlight on blend passes
Consolidated duplicate code.
Huge thanks to Skynet for help with the testing!
Please try and let me know if any issues.