[Reland] Animated WebP: Alpha-blending support for semi-transparent pixels

When alpha pre-multiplication is on, use Skia for blending.
Most of Blink (including image-rendering in the browser)
uses this mode.

When alpha pre-multiplication is off, use a locally written method.
Only WebGL image conversion uses this mode:
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/platform/graphics/gpu/WebGLImageConversion.cpp&l=1554

Also, disable color profile handling for animated images. This is
an extremely rare use case and at the same time rather involved to
implement. Note: Color profiles in GIF images are ignored as well.

Testing:
Added a unit test to verify that decoded frames in case of alpha
pre-multiply on/off are equivalent.

Difference from earlier patch:
- Unit test corrected: SkPreMultiplyColor() uses 'SkColor', where a
  certain order of R,G,B,A components is assumed, while we need
  configuration specific order. So, we use SkGetPackedB32() etc
  instead.
- No logical changes in the code: using SkPackARGB32NoCheck() and
  some refactoring for clarity.

Reviewers:
Vikas: To review the diff from original patch.
Nico: For OWNER'S LGTM stamp.

BUG=364679

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

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