Rewriting default shader, currently making use of uniform structures for
Light and materials, all the output from the vertexshader is passed to
the fragment shader through an output structure