Updated fragment shader to mix colors with the actual texture colors,
Materials now hold the texture and color on the mesh.
Input class now highly simplified.
Shaders now can be represented as individual class.