added a vector representation
created and used a persepctive matrix helper
added vector3 uniform support for shaders