Functional combat.
 - Level 1 hero vs level 1 slime each time, with no persisted hero data across fights.
 - Move combat states into their own files.
 - Add EntityModel/GameEntityObject to support creatures that can be interacted with and potentially destroyed.