Fidelity improvements

Changed vertex/fragment shaders to maintain vector precision during
interpolation. Instead of normalizing the vectors in the vertex
shaders, they are normalized in the pixel shaders after interpolation
yielding better precision.