Thread-safe version of MWC256 which generates one PRNG object for each thread and seeds it using a MersenneTwister. The MWC256 is used because it has a very long period and hence decreases the risk of overlap and correlation of the individual threads.