Fixes #20 and #60 use zipped buffer for StreamDocumentBase

StriamDocumentBase buffers the content of any stream/reader to allow for
rewinding for multiple parsers. The memory buffer can grow to large
sizes for large ontologies and text based formats compress very well, so
zipping the buffer is useful to reduce memory footprint.