Replace all Math.random/other (P)RNG

Use [crypto.randomBytes](http://nodejs.org/api/crypto.html#crypto_crypto_randombytes_size_callback) in node.js and SecureRandom in the browser