WIP: Add a basic user settings page. 

Fixes #51. 
Fair. This branch probably requires a cleanup before being merged into master. And I'll be happier once it has unit-testing, so I don't need to worry about functionality so much...