Rearranged code (screen + PagerModel handling)

Should be more resilient now; all classes take a config parameter which stores pagermodel/related info per-screen in a dict called Config._internal.
Panel "order" works now.

The order of things is properly set now. If you wanted, you could have the panel on the right-hand side of the screen, or a clock in the centre like Gnome3. It's pretty cool, anyway.

I need to have a look at writing up some proper documentation. The default config should probably have examples for every option, if commented out.
Vertical orientations might work properly now.

The layout code has been improved, and vertical layouts might not fail entirely. What limited testing I've done suggests that the props aren't being set correctly, although I can't for the life of me work out why not.
Improved example config.

The example configuration now has every valid option, documented. Perhaps other people might be able to use it now, too!