core: new config option `implicitExt` to prevent implicit namespace extension
convert all modules to use exports, but not implicit namespace extensions