console rendering to own funcs, stream read/writer

put the drawing of each console in their own function to separate them a
bit from each other. created a Stream class and moved a lot of the old
IO.Read/IO.Write functions (except a few which were used in a non-stream
fashion as well) into that new class. mainly because IO was getting
cluttery with the more "gamey" input stuff at the same time as the
file/stream-io.