Fix broken tests.
Refactoring for #37: generate perimeter.
Move perimeter into map, out of objects (#37)
Move NPCs into map data (#37)
Implemented custom entities (#37)

- Added initialize() function (constructor) to data entities
- Fixed bug with positional audio wiping out coordinates
- Added validation if we can't find positional audio channel
- Loosened NPC speech validation
Resolved #37 for the win: object ranges

- Loosened hardcore type checking for object types
- Refactored object creation into a method