Don't catch exceptions in invoke*

Looks like catching exceptions is very expensive, it causes a bailout. Since we're probably throwing a lot of exceptions (because our natives often throw VM.Pause or VM.Yield), it would be better to let Context::start catch them.
The call to resume hooks should be unneeded here because it will be called by Context::start when the thread will be executed again, right?