Replaces the code that attempted to find the topmost presented view controller as the context for presenting a Safari view controller with a call to the new registrar API to get the Flutter view's controller.
Since it's now possible for there not to be a view controller, adds an exception for that case. This should only be possible in an add-to-app scenario where someone tries to show an in-app URL from a Flutter view that is not being displayed, which is an unlikely enough scenario that I'm not going to consider this a breaking change.
Fixes https://github.com/flutter/flutter/issues/174415
## Pre-Review Checklist
[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
For all packages that have not already done so:
- Ensure that the minimum iOS version is 13.
- Ensure that the minimum macOS version is 10.15.
- Ensure that the minimum Flutter SDK version in 3.35 for anything with changes from the above.
In https://github.com/flutter/packages/pull/9849 I did the iOS plugins that had conditional logic for iOS <13, but I forgot to follow up with updating the minimum for the plugins that didn't have conditional logic.
Because this changes min Dart SDKs, it causes autoformat changes. There are no actual code changes in this PR; all Dart file changes are purely the result of re-running `dart format`.
This does bump the versions, even though repo policy would allow skipping version bumps for only changing min requirements, just to avoid conflating all the changes here with future releases.
Part of https://github.com/flutter/flutter/issues/167735
Part of https://github.com/flutter/flutter/issues/167745
## Pre-Review Checklist
[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
StoreKit2 is now the default and https://github.com/flutter/flutter/issues/116383 is closed. Let's remove it from the deprecation exclusion list to ensure we get new deprecation warnings.
## Pre-Review Checklist
[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.