Use ContextFactory.call instead of ContextFactory.enterContext/Context.exit.

It is easy to forget to call Context.exit in finally. Use the loan pattern
provided by ContextFactory.call.