move legality checking, doors, basic saving, &c

checking whether a move is legal or not (i.e. bumping wall/door or not),
added doors and opening/closing them, basic tile => string and string =>
tile, as well as actual writing of level size and level tiles to file
(but not yet items/actors etc.), log resizing, inverted colourscheme on
the inputrow (easier to see and generally cooler)