XML Parser

Rewrote ITextStream interface to support multiple writes in a single
call. Also, ITextStream::write(null) or ::write() will signal the end of
the current stream (equivalent to close & reset).
Started the XML parser