A lot of work on GUI

I have fixed some stuff and added some more new stuff. All in all the GUI code is quickly closing the feature gap with command line.
We should probably drop a `log4net` statement of some sort in here. I know for certain we'll ask a user to paste their logs somewhere, and errors are good things to see for that.