String I/O

Note that Strings are very inefficient, and I will release future separate
packages with ByteString and Text operations. I only provide these to
allow users to test simple I/O without requiring any additional library
dependencies.