Abstract stream making

The streams that we care about here are made using the `fs` module to
load a file from disk. This change puts that stream making into a class
that uses the `fs` module, thus enabling us to override the function on
the prototype and use another method.

We don't need to use that other method here, but the browser based
version of this library will be very grateful.