Fully implemented game tick, restructured NPC AI

- implemented a "true" game tick system (events can be synchronized with ticks now)
- did tests and confirmed that only NPC entities are causing the lag
- improved overall NPC performance slightly by removing the separate AI classes and adding them as subclasses of NPC