Massive refactor: per-pixel stepping & hit-testing, event distribution system, decoupled inputs, switched back to NSCoding from JSON, tile map class