Multiple parts with randomised positions

Add support for having some number of parts, and place them randomly on '.'
tiles. This isn't perfect, as sometimes they're all in the starting room,
but it's an improvement over what's there.

Also update TODO list.