moving the status panel "container" into it's own class
set the frame size to be the size of all screens. Support multiple monitors
renames
spike to switch modes on the fly (implies a real restart)
spike to display one frame per screen (detecting the number of screens not yet done).
one frame per screen. Pushing frame configuration into the actual status frame so that we can "plug in" these on initialisatoin; for example, to have one resizable (undecorated), one full screen and one multi-screen-full screen
replace function with lambda
remove iterable
toying with "screen modes"
deprecating old ScreenMode (to remind myself later)
pulling up the selection of "screen mode" to the point at which you build the application. Should mean that we can switch screen modes on the fly. As the creation of a screen frame requires the bounds and thats not known until you want to create it, I had to create the screen mode via a factory. boo.
removing deprecated screen modes, replacing maximise toggle with a screen switcher. Desktop mode still displays across multiple screens, so spiking the idea that the factory produces all the frames not just the screen modes of the frames.
making desktop mode create a single frame rather than one for each attached monitor
remove cursor control key - no need to move frames form  monitor to monitor
updated readme and changes shortcut keys for switching modes
remove global key listeners on restart (to avoid thousands of events firing), had to use a nasty static to keep track of which screen mode to cycle when switching screen modes (the 's' key)
remove unused desktop mode question