Types are being reified in the JS backends, so these need to be
addressed. Fixes two issues:
- @staticInterop types need to be casted to JS types
- JS functions need to be cast to JSFunction before conversion
Enables landing of https://dart-review.googlesource.com/c/sdk/+/295105.
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] All existing and new tests are passing.