Some small performance improvements for JsValue.

ObjectWrapper now caches method descriptors rather than recreating them
each call and JsValue no longer uses nullable types for to avoid the
overhead of nullables.