Implemented IVertexShader, IFragmentShader and IShaderProgram interfaces