Split NeedsRepaint in two flags for Self and Descendant

This patch separates PaintLayer::NeedsRepaint() into two flags:
* PaintLayer::SelfNeedsRepaint()
* PaintLayer::DescendantNeedsRepaint()

This also introduces a method SelfOrDescendantNeedsRepaint()
that is used in the places where we need to check for any of the flags
(somehow the equivalent to the previous NeedsRepaint()).

This is the initial step to allow optimizations in future patches.
Ideally we should be able to avoid repainting a PaintLayer
if it only has DescendantNeedsRepaint().

BUG=917911

Change-Id: Ie9d509328515492905d8da3b11d2cbf95da5f7b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1911792
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Manuel Rego <rego@igalia.com>
Cr-Commit-Position: refs/heads/master@{#714962}
20 files changed