Canvas fillText and measureText handle ideographic spaces differently.

According to specification[1] all space characters should be replaced with
0x0020 space character. (U+0009, U+000A, U+000C, U+000D -> U+0020)
BTW, ideographic space(U+3000) isn't space characters what the spec[2] says.
This change aligns behavior with Gecko and WebKit.

[1] text preparation algorithm:
  http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#text-preparation-algorithm

[2] space characters
  http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#space-character

This patch is based on following patch from WebKit:
  https://bugs.webkit.org/show_bug.cgi?id=108881

BUG=171639

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174663 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rebaseline virtual/softwarecompositing/iframes/scrolling-iframe.html

Manual rebaseline for virtual scrolling-iframe test for r173053.

BUG=360889
TBR=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174664 bbb929c8-8fbe-4397-9dbb-9b2b20218538
FontFaceSet changes should trigger font update

When entries for a FontFaceSet is changed by the add(), delete(), or
clear() methods, matching font faces for existing font styles may change,
so we need to call invalidation callbacks of CSSFontSelector.

BUG=375632
TEST=fast/css/fontfaceset-add-remove.html

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

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