Extract engine from server into separate module
Fix a couple bugs
Automatically pick a free localhost TCP port and open browser there on startup