• Integrate iframes into the display list

    Instead of always promoting iframes to StackingContexts, integrate them
    into the display list. This prevents stacking bugs when
    non-stacking-context elements should be drawn on top of iframes.
    
    To accomplish this, we add another step to ordering layer creation,
    where LayeredItems in the DisplayList are added to layers described by
    the LayerInfo structures collected at the end of the DisplayList.
    Unlayered items that follow these layered items are added to
    synthesized layers.
    
    Another result of this change is that iframe layers can be positioned
    directly at the location of the iframe fragment, eliminating the need
    for the SubpageLayerInfo struct entirely.
    
    Iframes are the first type of content treated this way, but this change
    opens up the possibility to properly order canvas and all other layered
    content that does not create a stacking context.
    
    Fixes #7566.
    Fixes #7796.
    mrobinson committed Oct 20, 2015