Drop-in replacement for `crypto.getRandomValues` with gracefull fallback to `Math.random`