Make RMT runtime_invoke wrappable
This change is because of how exceptions are handled differently in our version of NDK as compared to the NDK version they use when compiling. As for a full list of differences, there is at least size inconsistencies in the _Unwind_Exception and cxa_exception types (as compared with ghidra and looking at asm io)
Sadly, this means that the performance benefits of RMT are out the window-- though we can still keep using RMT as a wrapper that will one day be better again. It is unfortunately quite a large method now, though, and should almost certainly be split up more before another minor release.