UI redesign

See issue #49. There are a few parts missing and no doubt there will have to be plenty of adjustments, but this is the bulk of it.

Some of the commits are huge, but it's difficult to carefully split them up with this kind of work.