make `Core.OpaqueClosure(ir::IRCode)` non-destructive (#49100)
Currently the constructor is destructive because it calls
`replace_code_newstyle!(src, ir, ...)` etc.
This commit made it non-destructive by calling `Core.Compiler.copy(ir)`
beforehand. We can define a destructive version of this
`Core.OpaqueClosure!` later if we really want it.