Less cumbersome to implement than old version taking an enumerable. The implementation was always using `foreach` for the enumerable.
The new interface is not used yet.
There's an issue with dropdown menus nested inside a scroll view being
very frustrating to scroll to off-screen items. This works around that
to some extent by giving the user more "parent-scrollable" space to
mouse wheel or drag over.
It is more convenient than using the constructor because the only limited kind of expression is allowed in a base constructor call.
Also, the object initializer syntax can be used.
The equality operator is used to determine whether the next background
in the cycle should be loaded, to avoid pointless loads of the same
background several times (see #13362 and #13393). Its omission in the
latter pull caused seasonal backgrounds to no longer cycle.
Closes#13508.