[CSSGridLayout] Sort items by span when resolving track sizes

Section 10.4 of the specs mentions that we should first treat non spanning
items and then incrementally proceed with items with greater spans when
resolving the track breaths in the Track Sizing Algorithm.

The algorithm defines a different treatment for non spanning grid items, but
that will be part of a follow up patch. This patch just sorts them before
calling resolveContentBasedTrackSizingFunctionsForItems(). As a nice side
effect we're removing the multiple processing of spanning grid items caused
by GridIterator (it returns the same item as many times as the number of
cells it spans).

The sorting adds a performance penalty in auto-grid-lots-of-data.html of
~3.5%. If we ever find this is critical we should think about an alternative
grid internal representation.

BUG=392200

Review URL: https://codereview.chromium.org/381803007

git-svn-id: svn://svn.chromium.org/blink/trunk@179594 bbb929c8-8fbe-4397-9dbb-9b2b20218538