Add logic to repaint if needed after layout is complete.

Along with the repaint rects we also need to store the outline rects and if
the layout was triggered with selfNeedsLayout(true). Both of these cases modify
what the repaint actually does.

In the case of selfNeedsLayout(true) we need to store it away (into
didSelfLayout) because the flag will be set to false before the new repaint
code is executed.

BUG=310398

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

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