The initial pass is used to determine the "natural" size of the elements. In this
pass, infinity can be used as the measure constraint if the element has no other
constraints on its size.
The final pass is made once the "natural" sizes of the elements are known and any
layout logic has been run. This pass is needed because controls should not be
arranged with a size less than that passed as the constraint during the measure
pass. This pass is only run if NeedsFinalMeasurePass(Int32, IReadOnlyList<Control?>) returns
true.