Initial commit for many_cubes program.

In this version of the program there are some significant changes from the simple3d program
which rendered only a single cube.

In this version multiple cubes are rendered. Rendering is handled by a function defined in current.cpp
which calculates matrices for 2 cubes and then calls the rendering function for the cube twice with
different matrices resulting in 2 cubes being drawn.

Lighting is no longer handled by a member function of cube (which didn't really make any sense).
Lighting is now handled by a function called set_lights defined in current.cpp.

The next step is to make the rendering routine more generic. The program should deal with an arbitrary
number of cubes and keep track of all of their sizes, colours, rotation matrices and translation
matrices. The rendering routine should then algorithmically go through each cube within the system
and render the base cube object with the relevant matrices.

Once this has been acheived then I can move on to incorporating physical interactions between the cubes
and the environment.