RFC: more methods working with a non-global RNG

This is #8380 rebased and on a branch in the main repo.
However I simplified it a bit: the `rand()` methods working with the global RNG were constrained by the types with which `rand(::MersenneTwister, ...)` actually worked. But I think this did not add much value (the "no method" error is simply forwarded), and could easily fall out of sync, so now there is a fall-back `rand(T::Type) = rand(GLOBAL_RNG, T)`.

I need to review this once more, hence the "RFC".