Main:  Only use one scene for rendering alll objects
Cube:  Add smooth normals to object
Main:  Add 4 positional light sources to scene.
ObjLoader:  Handle object with only 2 vertices for rendering lines
Form:  Update classes constructors
Shader:  Code factoring.  Allow NULL shaders.

TODO : Update content for shadow mapping algorithm
Pass NULL fragment shader to stencil program since only vertex shader is used to
update stencil buffer.
ShaderFactory:  New class to generate all shader programs.
ShaderFactory:  Factorise to one functions that generates all programs.

Passing a type to the generate function of the shader factory will return
the initialzed program and reused identical shaders.
ProgramFactory:  Used to generate all program types.
Form:  Update variable names
Factoring:  Remove unecessary files and update variable names.
Program:  Only factory can generate them.