lib: convert WeakMaps in cjs loader with symbol properties
Symbol properties are typically more GC-efficient than using WeakMaps,
since WeakMap requires ephemeron GC. module[kModuleExportNames]
would be easier to read than cjsParseCache.get(module).exportNames
as well.