another big update. encapsulated all functionality related to shading into the shader class. the base class is abstract, so derive any new children to perform rendering. fixed a bug relating pipeline class not updating MVP matrix