Prevent tainting native code loading from propagating (#53457)
When we use options like code coverage, we can't use the native code
present in the cache file since it is not instrumented.
PR #52123 introduced the capability of skipping the native
code during loading, but created the issue that subsequent packages
could have an explicit or implicit dependency on the native code.
PR #53439 tainted the current process by setting
`use_sysimage_native_code`, but this flag is propagated to subprocesses
and lead to a regression in test time.
Move this to a process local flag to avoid the regression.
In the future we might be able to change the calling convention for
cross-image calls to `invoke(ci::CodeInstance, args...)` instead of
`ci.fptr(args...)` to handle native code not being present.
---------
Co-authored-by: Jameson Nash <vtjnash@gmail.com>