Add support for RNG injection

This patch allows library users to change the functionality of `_.random` by replacing `Math.random`. I haven't tested the perf hit of the added abstraction.