Engines Library
    * Add pre-made game engines.
        + ObjectManager
            A ObjectManager manages various types of objects, by
            categorising them and remembering their locations,
            and other attributes such as what player they belong
            to.
        + PlayerManager
            A PlayerManager manages the players in terms of game
            players (not necessarily network players). Som players
            may be inactive, and the PlayerManager also allows for
            null players (such as a "nobody" player).
        + ScrollingGame

Graphics Library
    * Optimise code.
    * Seperate Widget.position and Widget.size from Widget.rect
    * Add a border attribute to the Widget class (and remove
      it from Container).
    * (optional) Add animations.

Widget Library
    * Add theming support.
    * Add other types of widgets.
        + Dropdown
        + Radio buttons
        + Check boxes
        + Text input
        + Numeric input

Network Library
    * Add player authentication.
    * Make service discovery cross-platform (using pybonjour, or pyzeroconf).

Documentation
    * Write docstrings for all undocumented modules, classes,
      methods and functions.
    * Document README.
        + Hardware Requirements
        + Reference INSTALL

Cool Features
    * Include a physics engine for the graphics library.

