565 support for SIMD xfermodes

This uses the most basic approach possible:
  - to load an Sk4px from 565, convert to SkPMColors on the stack serially then load those SkPMColors.
  - to store an Sk4px to 565, store to SkPMColors on the stack then convert to 565 serially.

Clearly, we can optimize these loads and stores.  That's a TODO.

The code using SkPMFloat is the same idea but a little more long-term viable, as we're only operating on one pixel at a time anyway.  We could probably write 565 <-> SkPMFloat methods, but I'd rather not until it's really compelling.

The speedups are varied but similar across SSE and NEON: a few uninteresting, many 50% faster, some 2x faster, and SoftLight ~4x faster.

This will cause minor GM diffs, but I don't think any layout test changes.

BUG=skia:

Review URL: https://codereview.chromium.org/1245673002
2 files changed