Initial commit of CubeSystem program.

In this version of the program a class CubeSystem has been implemented which contains
an arbitrary number of cubes. These cubes are stored in the form of RigidBody objects.

The RigidBody struct is defined in the CubeSystem.h file. At the moment this is a very
rudimentary struct which can hold a vector3d representing the bodies center of mass
coords. as well as a vector3d which represents the size of the object. See the description
in the CubeSystem.h header file for more details.

The CubeSystem object initialises the cubes randomly. The CubeSystem::render routine
calls the render routine for the generic Cube object for each RigidBody in the system
with the appropriate matrices.

The next step is to incorporate quaternions into the RigidBody object to represent
the objects orientation and angular velocity and acceleration as well as vector3d
objects for linear velocity and acceleration vectors.

With this data the RigidBody positions and orientations can be integrated with a
Verlet routine.

At this stage physical interactions can be incorporated.

This CubeSystem template could easily be adapted for a system of spheres rather than
cubes.