[wasm][icu] ICU files sharding + custom icu data loading for WASM (#80421)
* User can set `GlobalizationShard`.
* Sample for sharding, might be transformed into a test.
* Option of custom shard file upload.
* Replaced sample with WBT.
* Remove unnecessary change.
* Fixed invariantMode + full custom path + nit.
* Draft of documentation.
* Rename to reflect usage better.
* Fix full path file loading to the Browser.
* Fixed WBT build errors.
* Docs: only one ICU file can be used.
* Fixed NodeJs: `navigator` is not defined.
* Paritial fix of sharding tests.
* RuntimePack can differ for AOT and Release.
* Fix `ja-JP` culture not found in CheckDateTimeLocale.
* Fixedculture not found in SatelliteAssemblyTests.
* Fixed culture not found in System.Runtime tests.
* `icudt.dat` should not be loaded when <IcuFileName> empty + EFIGS contains only some specific locales + `IsIcuFilePredefined` is not necessary.
* Improved doc readability using @radical's suggestions.
* Forgot to remove comments.
* Missing change for
5df3c9ccc851c45fbdbc3acfd96162c3237973c1.
* WBT: Applied review.
* Applied @pavelsavara's suggestion.
* Added `WasmIncludeFullIcuData` to work like Blazor.
* Another missing change for
5df3c9ccc851c45fbdbc3acfd96162c3237973c1.
* Missing change for
b5a1308372ed00f1dea08dadd647e97dffe57e27.
* Fix debugger failures for real, previous flag was in the wrong place.
* Fixed most libraries that require full ICU.
* WBT should load full icu only when invariant off.
* Applied @radical's idea.
* Missing change for the last commit.
* Build args should not be edited inside of `BuildProject()` + Identity on a property does not exist.
* One flag for all lib tests instead of multiple changes.
* Revert comments for the prev commit.
* Fix for trimming tests.
* Rename + throwing when file not found.
* Fixed NoopNativeRebuildTest WBT.
* Forgotten logging.
* Tests with custom shard.
* Added more complex tests.
* Should fix wasm tests on helix.
* Fix WBT.
* [wasm] Update eng/testing/scenarios/BuildWasmAppsJobsList.txt
* [wasm] fix testassets path
* Default mode for tests should be the same as default mode for template apps.
* Checking preferred icu when assets are still not populated was incorrect.
* DataTimeFormat does not work well for browser + wrong condition.
* Removed empty space changes.
* WBT for automatic icu selection based on locale.
* Moved the full icu flag from libs to lib tests.
* Flag in tests.wasm.targets should be enough for trimming tests.
* Debugger tests in default globalization mode unless CJK needed. Firefox does not respect UILocale.
* Removing forgotten comment.
* Fixed sharding wbt.
* This should not be commented out.
* Sharding WBT do not make sense on v8 + fixed debugger tests on Linux + fixed WBT on Chrome on Windows.
* Fix test to have sense.
* Fixed tests to reflect expected behavior after removing predefinedCulturesOnly=true from WASM + added en-US to custom ICU.
* Fixed merge errors, removed redundant comment.
* Update docs, disable NodeJS in tests.
* @radical's review part 1: embedded comments.
* Test clean-up by @radical.
* Fix arg order in debugger + revert wasi sharding.
---------
Co-authored-by: Ankit Jain <radical@gmail.com>