[SVG] Avoid redundant markAllClientsForInvalidation() calls.

The current resource invalidation code is quite trigger-happy and can
cause repeated/redundant markAllClientsForInvalidation() /
markForLayoutAndParentResourceInvalidation() crawls as the tree is
mutated.

This CL tracks the current RenderSVGResourceContainer invalidation level
and prevents repeated crawls for the same level. The invalidation mask
needs to be cleared on a) layout and b) resource application/draw (as
some invalidation levels do not trigger a full layout).

With this change, the testcase for https://crbug.com/320422 shows
dramatic improvements (tens of seconds delay -> less than one second).

BUG=320422
R=pdr@chromium.org,schenney@chromium.org

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

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