Cleaned up light class.
Added Randomizer class to wrap the rand() calls.
Removed random functions from Vect4 / Mat4 and changed to Randomizer.
Changed shadowless to (as originally intended) not block shadow rays, rather than the unintended consequence of merely not allowing shadows to be cast onto an object.
Implemented statistical soft shadows, but there's a lot left to be desired.