add `promise` external
add `import` external (uses import())
add `output.importFunctionName` option to change the `import()` function name
allow for inline external type when using arrays
fix some typings
fix namespace object behavior when using system external and accessing nested property
fix interop behavior for async dynamic modules
It defaults to library name or name from package.json in context
output.uniqueName will be used to generate unique globals for
* output.jsonpFunction
* output.chunkCallbackName
* etc.