[fenix] For 5092 - Show a Snackbar with retry option if sharing to devices fails (https://github.com/mozilla-mobile/fenix/pull/5158)
* For https://github.com/mozilla-mobile/fenix/issues/5092 - Show a Snackbar with retry option if sharing to devices fails
ShareController will contain all the business logic for checking the result
status of the `share to device` operations. When this fails it will show a
snackbar which also offer the possibility to retry the just failed operation.
To allow this even in the event the user has closed the share fragment we'll
use a GlobalScope's coroutine.
Refactored out the TabsSharedCallback from ShareFragment because otherwise we
would have neede to sent through that the just failed operation. After the
refactor the ShareController is solely responsable for showing the right
snackbar and handling the retry actions.
* For https://github.com/mozilla-mobile/fenix/issues/5092 - Refactor ShareControllerTest
* For https://github.com/mozilla-mobile/fenix/issues/5092: Adds color theming of snackbars