Adding fancy-pants UI

Much of the code is still in the eye-wateringly-bad state I left it in right before PAX. The next pass should get rid of that and clean up the UI so it's not so stuttery.