Removed the remaining EvilGlobals and plumbed in dependencies as needed.
Fixed some problems with houses:

- Ponies will now actually expire and be removed after waiting by the doorway for a brief period.
- If the house moves, the pony will target the new position accordingly.
- Ponies that enter manual control will have their recall canceled.
- If the house is removed, any recalls are canceled.
- When a pony is started, if a location was set then that will be used rather than teleporting to a random initial location.
Moved some closures into separate methods so the memory allocation need not be performed until the closure was actually needed.