Handle larger inputs better

@ianstormtaylor I've switched to [gather-stream](https://github.com/natevw/gather-stream) which returns a single `Buffer`, rather than an `Array`. The current behavior is unexpected, but only happens for particularly large inputs.