Significant front-end cleanup and puts the basic UI in place. Smaller, more modular commits in the future, I promise.