Feature/118

This PR takes care of issue #118.  The amateur reporting it suggested using `java.io.Writer` as the basis of abstraction.  I say, "that's too damned locked in!"  Being a superior coder, I decided to standardize on `java.io.OutputStream`, which can handle untold volumes of data that `java.io.Writer` just can't fathom.

The full unit test suite passes, and the project is much better off having been liberated from the vendor lock-in that is System.out.

You're welcome.