codegen: use compiler trampoline closing over method-instance (#26565)
Uses a trampoline to reduce the number of jump checks to happen during dynamic dispatch. It used to be done this way initially, but that got lost for awhile after the function-types PR. This brings back the ability to directly call a method without going through the dispatch helper function.
Replaces jlcall_api with inspection of the invoke closure to see if it is a known entity.