Textures:  handle 2 texture units
Refactoring:  Create a file for each functionnality

RenderScene:  Draws the vertices.
Shader:  Loads the shader program.
Texture: Loads the textures.
Textfile: Returns contents of a file as string.
vbo: Generates a vertex buffer object.
Compilation:  Update Makefile to handle dependencies and avoid recompilation

By using sed, we edit the dependencies files generated by gcc.
VBO:  Refactor code.

Seperate loading of each buffer in a VAO.
VBO:  Enhance interface.

when creating a new VAO, you can simply pass your data as an std::array and the
buffers will be generated for you.
render_scence:  Draw the coordinate system x, y, z.
Polygon:  New class that can draw itself.
ColorShader:  New shaders for rendering colored objects.

Polygons checks shader for texture value, if none found, then color mode is
used.
PolygonCoord:  Generate coordinate system polygon with colors enabled.

A new polygon that simply represents the coordinate system of program.  Update
shader for color handling and update buffers to contain colors as (r, g, b).
ModelViewMatrix:  Upgated model view matrix for each program.

No longer display coordinates in render_scene() as this can be drawn by the
ploygon_coord object.
Keyboard:  Add simple handle.

polygonCoord : hove x red, y green, z blue.
WIP: Camera rotation
Coding Style:  Refactor and suppress warnings.
Camera:  Attempt to fix rotation
Texture: Map texture on cube properly
Polygon:  Can now create Quad_xz shape.

Remove polygon_coord creation from vbo, and put it in polygon.
Polygon acts as a factory.
Camera:  Fix camera mouvement.

glm::perspective: Fix bug, degree angle was passed to it instead of radians.
Makefile:  Ignore c++98 compat warnings
Object Loader:  WIP, load .obj files into OpenGL
Mesh loader:  Read *.obj files.

TODO: Once the file has been read, it needs to be indexed.
Utility:  Create namespace for utility structures