Add Closure support to NativeObject.

A Closure is now wrapped in a JS caller when converted to a
native value. The caller continues the closure asynchronously
on its captured environment.