[dart2wasm] Shallow type normalization
[dart2wasm] Shallow type normalization

Since we normalize types at every step of runtime type construction
(in `Types.makeType` and `ConstantCreator.visitTypeLiteralConstant`)
we don't need to normalize types recursively, except in the case of
`FutureOrType`.

This change avoids creating new type parameters for function types,
which would interfere with construction of generic function types.

Change-Id: I8f7c0ec4348e962ca6e67a9c1224107f73f75474
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270001
Reviewed-by: Joshua Litt <9f8daed1ab51574c9a48ffacb03e4a1adb4f880c@google.com>

dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk