Split off bounding volumes and RNG from sre.h and add sreRNG class

Split off bounding volume class defintions into their own header
file (sreBoundingVolume.h). This part is usable without including
sre.h.

Similarly, split off the random number generators class definitions
into sreRandom.h. This is also usable without including sre.h. The
sreDefaultRNG class has been renamed sreCMWCRNG, while the
sreGenericRNG class has been renamed sreRNG. This changes the API
for the random number generator from the one used in SRE v0.1.
The RNG module maintains a default RNG, which is preinitialized
with a standard sreCMWCRNG at program startup. This is also the
default RNG used by other parts of the SRE library (currently
one function in the Color class). It is now possible to change
the default RNG to any user defined one.

The header files sreBoundingVolume.h and sreRandom.h are now installed
together with sre.h.

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
Optimize the random number generator

Optimize general random generator function RandomInt(n), limiting
bias to a controlled amount.

Fix RandomFloat(float range) to not unnecessarily loose precision
during calculation.

Add comments for the functions in the class header and add new
high precision functions.

The improvements still have to be properly tested and validated.

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>