Cleanup InvalidationLocationChange

Previously in RenderLayerModelObject::invalidateTreeIfNeeded(), we
check if invalidatePaintIfNeeded() returns InvalidationLocationChange
or InvalidationFull to set childTreeWalkState's
forceCheckForPaintInvalidation flag.

This has the following issues:
- When viewport is doing full repaint, invalidatePaintIfNeeded()
  returns InvalidationNone, causing required childPaintInvalidationState
  forceCheckForPaintInvalidation missing (causing stale old location
  and old paint rect);
- Checking of InvalidationFull is too broad (which was to include cases
  that location changes but invalidationReason is InvalidationFull).

Now let RenderObject::paintInvalidationReason first check for
InvalidationLocationChange and
RenderLayerModelObject::invalidateTreeIfNeeded() check
InvalidationLocationChange only before forcing paint invalidation check
of descendants.

BTW removed unnecessary checking of PaintsIntoOwnBacking because if it's
true the position should not change.

This is a preparation CL for fixing bug 416539

BUG=416539

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

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