Add get_workarea() to calculate available space from struts (incomplete)

WindowManager.get_workarea returns a gtk.gdk.Region which means that it can
represent literally any shape of desktop a user might have... but I haven't
yet finished the code to fully obey that definition.

What should work properly:
- Window layout with non-uniform monitor sizes
- Window layout with panels that span 100% of only one monitor's edge

What doesn't work properly:
- Window layout with panels that span less than 100% of a monitor's edge

(because QuickTile currently uses the clipping box for the gtk.gdk.Region)

Should solve the problems most people care about on issue #4.
Unify some of the debugging statements.
Fix a typo and clean up a spurious blank line.
Add a fallback so we never over/underlap panels.

Assuming I introduced no bugs, QuickTile's handling of reserved space is
now well down the curve of diminishing returns and this should be enough
to satisfy anyone waiting on issue #4 and pull request #23.
Add a couple of minor notes for future reference.