Fold out-of-flow objects into anonymous blocks when removing children

Sometimes when we remove a child we end up with a float or out-of-flow object beside
an anonymous block. When that happens, fold the float/out-of-flow object into the
anonymous box as that is where it would have lived if they were siblings in the
first place.

BUG=322039

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

Cr-Commit-Position: refs/heads/master@{#357886}
7 files changed