SoftGpu: Implement specular lighting.
SoftGpu: Fix various bugs.

Accidently used a dot product instead of a per-component product in the lighting code.
Using model transformed normals for light calculations now.
Disabling textures if texture mapping isn't enabled now.
Forced target alpha to be written as 0xFF to workaround broken buffer management.
SoftGpu: Fix some lighting bugs. Ambient and diffuse light should be working perfectly now.