Do not synchronously measure SVG text every time it changes.

Before this patch we would re-measure text 3x in the following scenario:
<script>
  text.innerHTML = 'foo';
  text.innerHTML = 'bar';
  text.innerHTML = 'baz';
<script>

With this patch, we do it once. This patch switches text measurement to
be asynchronous by invalidating the text layout attributes when text is
set, and then actually doing the work during the next layout.

BUG=589525

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

Cr-Commit-Position: refs/heads/master@{#380792}
1 file changed