Improved stream source handling

Allow the System ID to be set on StreamSource, meaning that documents or stylesheets parsed from strings can have the correct path set for relative URL resolution, or files / URLs can have their base URI overridden.

Tackles the second part of @papile's PR #1