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.
Small performance improvements for JsValue handling.
Fixed strings
Made JsValue's layout explicit

Because a struct is either a bool or a double or a string
pointer...etc., the layout can be optimized by setting all the fields to
the same location and assigning the important field last, which makes
its memory be notable. This makes the struct a guaranteed 96 bits,
rather than 232.
Added missing FieldOffset attribute
Fixed a bug in the explicit layout
Update README.md
Merge pull request #109 from ala53/master

Improve JsValue performance by removing Nullable overhead.