TODO items for PLIB as of Version 0.1

- The current GUI layout code does not support setting
  different margins for top/bottom vs. left/right sides
  of a panel; this is because there is no easy way to
  do this in GTK. As a result, currently if margins are
  not set all around, buttons and combos in GTK will
  expand to the edge of their containing panel, which is
  usually not what is wanted. The only workarounds are
  to use margins on all sides (meaning a little extra
  spacing at the edges of panels that contain buttons
  and combos) or to enclose each individual button and
  combo in its own panel (which is messy).

- The GTK table widget is much too crude. If I can figure
  out workarounds for the quirks of wxWidgets when using
  GTK under the hood, this issue will probably be what
  drives me to drop direct GTK support in PLIB.GUI.

- The set_geometry method really shouldn't be used most
  of the time; its x, y parameters are non-functional if
  the widget is inserted into a panel. Need to add set_size
  and set_position methods to allow better separation of
  function for the most common cases.

- Also need to add some real bonus functionality to the
  KDE GUI support (otherwise there's no point to having it
  in addition to Qt). For example: add an 'About KDE'
  action that is only present when using KDE. (BTW, also
  need to figure out why the program icon displays in the
  system menu corner of the KDE About dialog instead of
  in the main dialog area--huh?)

- Add support to the pyidserver example program for parsing
  URLs that include the protocol and port. (The urlparse
  module in the Python stdlib should work for this.)

- Is there a way to refactor the XML sub-package so that
  DTD generation is an overlay that can be imported only
  when it is needed?

- Add lots more tests. :)

- Expand information in all docstrings.
