add a `persistent` option to writeObject()

This makes it so that `MakeWeak()` is *not* called on the Persistent<Object>
handle, leaving it up to you to make sure to call `Dispose()` on it at some
point (ref doesn't expose a binding to that function... yet... so you'll have
to figure out exactly how to invoke it for now).

This is a somewhat experimental feature...