Password generator

Uses crypto.getRandomValues when available for better randomness.