Improve memory footprint

If you haven't noticed, our game takes a lot of memory. The reason is that certain modules (overworld, character) do way too much when imported. Also, many scenes don't clean up after themselves, meaning that the memory footprint just keeps going up.

This pull requests addresses those two issues. The character module has been completely rewritten to be lazy. No more loading every characters animations. We only do that once now. 

This is still a work in progress, but the game now uses **only 33mb of memory at the start screen, compared to 140mb.**

- [x] Fix overworld
- [x] Fix flyin
- [x] Refactor all uses of the character module