Added the UniffiAsyncCallHandler class. It follows the same basic
pattern as UniffiSyncCallHandler, but for async calls.
UniffiCallHandlerBase contains shared code between the two.
Replaced `use_async_wrapper` with `call_style`, which returns 1 of three
options rather than a boolean. This required a slight change to the
async config for constructors. User now need to specify `Object.new`
instead of `Object`. One upside is that it also allows configuring
non-primary constructors.
Added a test fixture for this. I used this fixture as an opportunity to
sketch out how I think this would work with the application-services
code and why this is an improvement over the current system for
auto-generating async wrappers.
Pass the buildconfig ENV when building the uniffi component libraries.
We need this if we want to depend on crates like `moz_task`.
Differential Revision: https://phabricator.services.mozilla.com/D227553