==Project Name==
Bezel is the project's codename. I (the project founder) think
that it's a pretty decent codename, but it could possibly be
renamed for it's first release.
Oh, and maybe some version names would be fun as well.

==Graphics==
    Graphics should make use of the rather clever Pygame library.
    Internal drawing should use the Pygame library directly, but
    external (i.e.: programs using bezel) should never need to
    use Pygame.
    When people start implementing their own custom widgets, Bezel
    should provide a wide range of fast drawing functions.

==Game Structure==
    Games should define:
        * A game engine to handle the in-game play.  This is generally
          based of one or more of the pre-defined engines from Bezel.
          
          Note: This is not actually required, but it's rather
                pointless to use Bezel otherwise.
          
          + Custom rules to make your game work as you want it too.
        
        * Scenes to handle the path from the game start to actually
          playing the game.  These are basically windows/panes which
          have the current 'focus'. Scenes can represent splash screens,
          the game play window, option dialogs, stories or level/game
          editors.
        
        * Resources to make everything pretty.  i.e: graphics, sounds,
          videos, etc., etc., etc.

==Game Engine==
    The game engine should be an abstract class which is 'built up'
    for each program, from the available mixins.
    The mixins distributed with the Bezel library should include:
        * Player handling
        * Network players
        * AI players
        * Real-time events
        * Turn-based events
        * Vector-based map.
        * Tile-based map.
        * Objects for maps.

