Add level generation constraints

We regenerate a level's layout until we ensure that there are no
objects within a 5-tile radius of the player's start position and
enemies are not side-by-side.  We just brute-force the layout since
it's such a small space.