Added support for NPCs, started refactoring code common across NPCs, items and locations
Updated todo list and allowed onExit callback to be specified in gamedata