The `updateImageUserAvatar` function within `*EditUserAvatarProvider` previously contained a call to the `displayFailureAlert(...)` method, which was passed in via props. However, the `displayFailureAlert` function is only relevant on `native` as we surface errors differently on `web`.
As part of making `EditUserAvatarProvider` platform-agnostic, we introduce the `useNativeUpdateUserImageAvatar()` hook. The function it "creates" encapsulates its call to `updateImageUserAvatar` in a `try/catch` block that handles errors in a `native`-specific way. As a result, `updateImageUserAvatar` can throw a plain old exception that will be caught by platform-specific "wrapper" functions.
In subsequent diffs we'll do the same thing for `setUserAvatar` so we can completely remove the `displayFailureAlert` prop from `*EditUserAvatarProvider`. After that we'll work on removing the `useUploadSelectedMedia` prop so the provider is fully "platform-agnostic." At that point we'll be able to consolidate `BaseEditUserAvatarProvider`, `NativeEditUserAvatarProvider`, and `WebEditUserAvatarProvider` into a single `EditUserAvatarProvider` component.