Introduction of behaviours, mild refactoring

First off, I moved some stuff ouf main.py (gasp!) Right now it's just
the enums. Additionally, I created a new file to hold all the NPC
behaviours, because I was originally going to put them all in a big
class and make them static, but that kind of sucks and this approach is
less messy.

The VisitingHouse Behaviour means that once that NPC reaches the end of
its path, it will randomly move around the house it is visiting without
leaving. Of course, it probably won't visit rooms that aren't the
entrance, but a future change could be to random pathfind to another
room in the house.