IOContext: introduce the :typeinfo property
Before, the :compact property was conflating 2 concepts:
1) are we low on screen space?
2) can we skip printing individual type information for elements in a collection?
Now, :compact controls only 1), while :typeinfo controls 2).
Cf. #22981 for context and discussion. Credit to Stefan Karpinski for the
formulation of the design implemented here.