Merged ui-interface-iteration3. [r=therve,fcorrea,csmith][f=911279].
Iteration 3 of fix for bug #911279
This branch does the following:
- Redesign the UI to reflect ongoing design discussions.
- Rebase controller layer on the new state pattern model.
- Make the view layer code work with both the new Gtk UI and new controller
Note - one particular test now generater a lot of spurious noise from Gdk - this is because I am faking key press events without a real X mapping. Nothing to worry about, but noisy. Using warnings.simplefilter("ignore", Warning) reduces this noise by one line, but requires a "with" statement which seems like to little benefit for too much cost in this case.