Implementation of a stream-over-string class (a Readable with a
string as input source) that can be used with Platformrecordmanager.
Used to supply SGML data from <literal>
system identifiers.
The base construction is described eg. in the StackOverflow
article linked to below; could use the following code instead
var stringstream = new stream.Readable()
stringstream._read = function noop() {}
stringstream.push(this.input_string)
stringstream.push(null)
but this is factored out into a separate class
and also honors the Readable
contract (eg. not pushing
further data if previous push()
returned false).