Seperate repaint and layout requirements of StyleDifference (Step 2)

Step 1 (https://codereview.chromium.org/236203020/) added a new
StyleDifference class to replace the original StyleDifference enum and
let callers use the new class.

Step 2 let RenderStyle directly generate the new StyleDifference.
Original implications between StyleDifference levels (e.g layout
implies repaint) are still kept, so Step 2 still doesn't change any
functionality.

Next steps will remove the implications and optimize repaints on
layout.

BUG=358460
TEST=All existing layout tests
R=jchaffraix@chromium.org

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

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