Made load_image use convert_alpha() so conversion is done at initialization
rather than during the game loop. Added load_assets() to Config since images
can only be loaded once the screen context is set
Cleaned up config and question classes by removing uneeded data
Moved item and monster checking logic in logic.py into their own functions
Added support for multiple destinations for a source/name pair in the fsm.
Improved docstrings for fsm. Added support for dynamically adding transitions
and callbacks to the fsm
Moved responsibility of moving the player to the Player class and
implemented a move_ method for each direction. Removed movement.py and
changed listeners code to use these new methods
Made register_listener decorator an instance method on Dispatch to get
rid of import magic in listerners
Removed old import of removed file `movement`
Made Dispatcher.dispatch() take and pass args/kwargs for more re-usability.
Moved RequiresStateException to FSM for re-use wherever its needed
Simplified display_offset utility in preparation for implementing
a Camera class
Added camera class and moved display offset logic inside of it. Started using
screen attributes for blitting calls rather than config values
Deprecated draw_image. Added draw() and draw_tile() methods to Screen.
Inverted camera offset so that the offset is added to a given value
Added draw_tile_relative() method to Screen for drawing tiles relative to
the player's location. Uses the camera to determine relative position
Removed some unused variable declarations in graphics.py
Added support for custom surface blitting in Screen. (pass in a surface to
blit on rather than the screen). Moved get_color, flip, and background
blitting into Screen
Removed game_state argument everywhere in graphics functions except for
render() because it isn't needed
Added a context manager that applies the background, calls the containing
block, then flips the display. This is used to easily call the code
surrounding the game specific display functions
Moved config files to a config directory. Disentangled screen settings from
Config and made screen.json settings, with Screen as a LoadableAsset
Refs #30 - Made level.monster_coordinates use an id indexed dictionary
instead and removed the monster's coordinates when defeated
Added release notes for v0.0.4
Removed unused get_ functions in utils