This rewrite should also improve the isolation of the front end with a view to extracting it into a small JS library that would facilitate possible back-end expansion (see #171, #172). This should also at least partially obsolete #64.
Goals:
Scope:
- UI shell
- alerts
- chat UI
- does not include maps JS (right?)
- all new JS should have JS Docs