[delegate] Improve trampoline caching

This won't work in the virtual case, mono_delegate_trampoline () uses the delegate->method field to find the method to call, so in the virtual case, it will call the base method, not an overriden one. I think this is what causing generic-virtual.2.exe to fail with this patch.