Replaced the RNG with a Mersenne Twister (C++11 support now required)
Added code for Halton sequences (sampling points on the hemisphere for final gathering)