Angular Frontend

Re-write frontend in Angular:
* Less manual DOM manipulation
* Easier to test & maintain
* Cleaner, simpler code
* Data bindings!