Ability to overload modules built-in to the SDK. Don't like our tabs module? Use your own. Want to use a module in npm that uses a native node module differently than we have, or we don't support? Can define your own here.

For supporting out-of-the-box modules from npm, we need to map `fs` to either our `sdk/io/fs`, or one user provided. We can do mapping for what we have, but we won't have all the modules, and there'll always be differences, so this allows users to map a require string to a module