Use lazy Text for IO.

Text IO unlike Bytestring is locale aware.
toStrict may be a premature optimization.
Use raw interface.