Add |GraphicsLayerDebugInfo::getAnnotatedInvalidationRects|

This is a Blink side patch for visualizing paint
invalidation for newly created RenderObject.
Demo @ https://www.youtube.com/watch?v=L-zo91nL2nE&list=UUGC5ommqy7KyPzZ-eGlL_Dg

After this CL, GraphicsLayerDebugInfo holds a vector of
invalidation rects along with their source / reason.
The rects can be queried from the embedder using the method
|GraphicsLayerDebugInfo::getAnnotatedInvalidationRects|.

This CL also adds a flag |RenderObject::hadPaintInvalidation|
to track if the RenderObject had ever been painted.
The flag is then used to annotate invalidation rects
for first paint of the RenderObject.

After this CL, WebLayer implementator can query this info to
visualize the layer invalidation including the first paint,
which is useful for telling if the repaint storm is due to
the page itself, or is a performance bug in Blink rendering
stack.

BUG=402033

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

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