Implement directional light
This adds a directional light to the Cube object to allow a world space light source to be defined which makes all objects light up from a specific direction. Currently this is implemented as an optional (i.e. can choose position or direction), but will be implemented in a tidier way in the future to allow for various light sources to be used at the same time.