Cryptographically unbiased random integers via crypto.getRandomValues with rejection sampling. Bulk + unique modes.