Implemented 'native object' value type, an opaque wrapper around pointers.

When you call a native method and get back a pointer, we wrap it up in this type, which can't be persisted, converted to a string or otherwise manipulated.