As of this diff all of the platform-specific functionality has been moved out of BaseEditUserAvatarProvider, which allows us to consolidate the three previous providers into one.
This concludes most of the refactoring work aimed at decoupling avatar-hooks and *AvatarProviders.
Next diff will involve renaming BaseEditUserAvatarProvider to EditUserAvatarProvider (was initially supposed to be part of this diff, but all the import changes and whatnot made it messy)
Depends on D8346