Key changes:
- Replaced `GlobalScope` and `MainScope` usage across multiple sample modules (`browser`, `crash`, `toolbar`, `compose-browser`) with dedicated, lifecycle-aware `CoroutineScope` instances.
- Introduced `applicationScope` in `SampleApplication`, `DefaultComponents`, and `CrashApplication` using `SupervisorJob` to manage app-level background tasks.
- Updated `SampleApplication` to cancel its `applicationScope` in `onTerminate`.
- Refactored `CrashService` to use a private `serviceScope`, ensuring all coroutines are cancelled in `onDestroy`.
- Migrated various components, including `SessionStorage`, `FileUploadsDirCleaner`, and `RegionMiddleware`, to accept the shared `applicationScope`.
- Removed `@OptIn(DelicateCoroutinesApi::class)` annotations previously required for `GlobalScope`.
- Cleaned up helper methods in `CrashApplication` to be internal to the class and use the managed application scope.
Differential Revision: https://phabricator.services.mozilla.com/D297658