Monsters walk randomly each time the player moves.

Renamed Monster Placer to MonsterController. It now has a component
which places monsters at the start of the level and a component which
handles telling all monsters to move. Whenever monsters should move,
we call MonsterController.MonsterManager.tick() and it calls tick on
all monsters in the level.

Monsters walking into the player don't hurt the player currently. They
do collide with (and thus not move, wasting their turn) walls, stairs,
the player, and each other.