Repository: flutter
Issue: Add support for unicode modifiers IconData
Labels: c: new feature,framework,c: proposal,P3,team-framework,triaged-framework

### Is there an existing issue for this?

- [X] I have searched the [existing issues](https://github.com/flutter/flutter/issues)
- [X] I have read the [guide to filing a bug](https://flutter.dev/docs/resources/bug-reports)

### Use case

I want to display emojis as icons using my custom emoji font. This way, I can benefit from tree shaking. When rendering an emoji in a text widget (e.g. Text("😂")), it doesn't tree shake all the unused emojis, and the font file is rather large.

To display emojis in an icon widget, I do something like this:
```dart
 static const IconData waiving_hand = IconData(
    0x0001f44b, //unicode entry point for waiving hand emoji (👋)
    fontFamily: _kFontFam,
    fontPackage: _kFontPkg,
  );
  ```
  
However, there's a problem:

Some emojis are rendered using Unicode modifiers (two characters in my case). For instance, to render a white-skinned waving hand, you need to first render 0x0001f44b (which represents the neutral hand) and then 0x1f3fb.


### Proposal

Consider adding support for Unicode modifiers to the IconData class. This would allow rendering of more specialized emojis.

<details>
 <summary>Flutter doctor output</summary>

```

[✓] Flutter (Channel stable, 3.10.6, on macOS 13.4 22F66 darwin-arm64, locale
    en-DE)
    • Flutter version 3.10.6 on channel stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (3 weeks ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Platform android-33, build-tools 31.0.0
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.13+0-b1751.21-8125866)

[✓] Android Studio (version 2022.2)
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.80.2)
    • Flutter extension version 3.70.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 115.0.5790.114

[✓] Network resources
    • All expected network resources are available.

• No issues found!
```

</details>