Vision System + Difference System

Large changes to the vision system

- Creatures register with tiles nearby, and receive updates when
creatures enter / leave those tiles
- When moving, only tiles that are "new" are sent
- Creatures are part of a field now on the client side, no longer
separate. (Might want to change that again later, but for now this is a
good solution.)

Needs a lot of commenting done, but I don't wanna right now.