Split maze generation from CLI
Use an explicit PRNG state
Add a webapp interface