First implementation of the paint slimming update algorithm

This patch implements the basic paint slimming update algorithm as
described in [1]. The basic goal of the paint slimming update is to
merge new display items with the existing display items. By tracking
invalidations and using the paint order implied by the existing paint
list, an updated paint list can be created with a single walk through
both lists.

[1] https://docs.google.com/a/chromium.org/document/d/1w9vjJSV9Itk9UjhuaOMIIhd_LDYAfHbMepkwV5ZNPUI/edit#heading=h.gcmtb6aof29f

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

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