Added Shader and ShaderProgram classes

- Modified the application to use those new shader classes
- Disabled the MAX_VERTEX_ATTRIBS call again as it caused some problems
Added ShaderProgram class