[LayoutNG] Use ForceChildLayout() instead of ForceLayout()

ForceLayout was causing additional paint invalidations due to:
SetShouldDoFullPaintInvalidation();
...inside it.

Instead this now uses LayoutIfNeeded if the item needs layout (probably
from a style change/node removal/etc), and ForceChildLayout() which
doesn't perform this invalidation.

Fixes a bunch of paint invalidation tests.

Bug: 635619
Change-Id: I70301097ffd2fa2512f13ad8e090fa5d61a3a300
Reviewed-on: https://chromium-review.googlesource.com/c/1419342
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624149}
23 files changed