Extract box-related from RenderObject::invalidatePaintAfterLayoutIfNeeded()

Also separated incremental invalidation code into
virtual RenderObject::updatePaintInvalidationReason() and
invalidatePaintIncrementally().

Override the functions in RenderBox to contain box-related code
originally in RenderObject::invalidatePaintAfterLayoutIfNeeded().

This doesn't change any current behavior, but makes it possible
to change the box decoration invalidation code to depend on rects
that is only available in RenderBox.

This is preparation for final fix of bug 380472.

BUG=380472
R=leviw@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177026 bbb929c8-8fbe-4397-9dbb-9b2b20218538
LeakExpectations: add more inspector protocol tests

TBR=hajimehoshi
NOTRY=true
BUG=376188

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177027 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add test to track the number of hit tests on various events

BUG=381728

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

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