adding Duration class
Fixing Shader unicity (a shader keeps the same id during is lifetime)
Implementing ShaderProgram functions
Using Duration class