-Fixes and light framework

-Renamed Matrix4f to Matrix, because it actually uses gs_scalar (which
can be either float or double). Maybe should rename it to Matrix4GS...
Did the same with Vector.
-Added Matrix3 because it is needed for normal matrix.
-Implemented normaMatrix.
-Added normal attribute to shaders.
-Fixed InitRotateX/Y/ZTransform and in turn it fixed
d3d_transform_set_x/y/z_rotation.
-Added framework for lights. Basically rewrote the whole GLd3d.cpp.
-Shader now have basics for per-vertex lighting
(ambient-diffuse-specular variant which was in FFP).
-Added error check in glsl_get_uniform_location.