Don't require objects to always be wrapped in `Arc<>` (#1672)
For constructors and other methods that return an object, UniFFI can
wrap the object in an `Arc<>` just fine, the library doesn't need to do
this. Allowing the library to skip the wrapping can improve ergonomics,
especially if we start to allow interfaces as errors.