Material Lib:  Parse material library
Object:  Add text_coord, vertices, normals as attributes.
Mesh Object:  Load each object individually

Use the list of objects return by mesh loader, bind each object, and add each
object to the scene to be rendered.
WIP, Some bugs can be seen.
Mesh Loader:  Fix normal computation, update scene once.
FPG_manager:  Enables user to know FPS.

NOTES:  VSync might be activated and therefore limit the fps values to the
screen refresh rate.
Materials:  Load each texture per object WIP.

Needs optimizing.
Refactoring:  Remove texture and vbo class
Velocity:  Move accordingly to frame rate speed
Texture Manager:  Loads each texture once a material.

Material now contains the information of the texture_id, and hence a simple call
to glBindTexture with the materials texture_id, will suffice to use the texture.
TODO : When multiple textures are used, texture_manager willinform the shader of
the texture units to use.  The set_shader_uniforms will update the shader to use
the right textures (normal_map, ambient_map, diffuse_map, etc ...)
Mesh Loader:  Bug on negative indices fixed.  Enhanced texture loading. WIP

TODO
Texture manager should only load an image once and then cache it's texture_id
and only return that texture id when asked to load a same image again.
Object rendering should be done in a smart way, i-e all object bound to the same
material drawn consecutively, and different materials with same texture also
should be drawn consecutively.
Texture Manager:  Cache loaded textures
Materials:  Render it once per frame.

material_library generates materials which each contain a list of objects to be
rendered.
Materials:  Sort them before rendering to increase identical textures

Some materials can share the same material, hence we sort the materials by
comparing the value of their textures id_.
Material:  Load materials to shaders.
Indexed Rendering:  Index as many vertices in mesh files.

Some noticeble speedup
BUG fix for objects not defining a material.
Documentiation:  Update todolist and nvidia conferenc slides.
TODO:  Add some TODO list in files
Ojects:  Now contains many materials.

Mesh loader generate one objects.  This objects is composed by a set of
geometries which, each have their own set of geometries to be rendered.  This
allows to group up objects of the same types and be drawn at the same time.
Makefile : Look in /home/kamer for libraries
Materials:  Group all indices and vertices per material.

Currently indices were stored per material, and vertices when just one global
buffer, however,  this global buffer for big obj file could not be loaded onto
the gpu memory.  Now The vertices are cut up into groups of vertices used per
material.