pass correct `this` through in func.memoize
bundle: rename `bundle` setting to `output`, and return Stream of JS source code lines if `output` is not specified