TODO
====
 o  document, document, document
 o  video mode independent screen
    .   ie, you write to 800x600 but can be displayed as 640x480 or
        1024x768 without having to think about it.
 o  multi-multi image Drawable
    .   ie, for rotatable image which can change/ animate
    .   done for MultiRotated... need to refactor?
 o  convert to new-style classes
 o  use new-style attributes/properties
 o  create and maintain unit tests
    .   the examples do a good job of testing, and get run before
        a release, but it might be good to have other tests
 o  separate base, docs and full tarballs
 o  rename Drawable to Sprite
 o  create FreeBSD port
    . other distributions too (deb, gentoo, rpm, etc)
 o  auto sizing of dialogs
 o  make TIMEOUT_Event use pygame.time.set_timer
 o  change location parameters to position
 o  make Drawable.collide and .collidelist work with Drawable.Multi sprites
    . mostly there. Still need to make it work between Multi sprites
 o  make group=SpriteGroup parameter work for Repeat_KEY_Event
 o  interface for site-wide high scores
 o  make GameConfiguration a Widget, and more easily extended
 o  add countdown / timer widget
 o  do something better with SpriteGroup and levels
 o  fix pymm to remove ball/row events after win/loss
 o  Drawable.pause() and Drawable.unpause() do nothing


DONE
====
 o  fix IDLE/win32 data/images finding problem
 o  allow held down keys to auto-repeat
 o  break out larger examples in to an add-on package/ download
 o  rename get* and set* methods to get_* and set_*
    .   avoid uppercasing attributes in method names
 o  move SpriteGroup in to Drawable.py file
 o  simplify intra-package imports
    .   change all the from pygsear import ... to import ...
 o  make practice.py use an internal console like interact.p
 o  fix the problem w/ turtle transactions
 o  a more reasonable/ unified use of pygame.time.Clock()s
    .   using Game.Game and Game.TwistedGame mainloop, each pass
        through the loop stores the current tick in conf.ticks

