Near-complete rewrite

Fixed a REALLY annoying bug where a few specific rooms wouldn't get
their sizes parsed correctly. The bug was in using .readlines[0], which
would choke whenever it reached an \x0a (newline) byte, which was rare
but not unlikely. Changing it to .read fixed this problem.