Porting webkit patch from https://bugs.webkit.org/show_bug.cgi?id=119082

Implement canvas blending test that should validate the following scenarios:
Validate that all blending operators work as expected for the following layer combinations:

1. image over color
2. color over image
3. image over gradient
4. gradient over image
5. image over pattern
6. pattern over image
7. color over gradient
8. gradient over color
9. color over pattern
10. pattern over color
11. gradient over pattern
12. pattern over gradient
13. image over image
14. pattern over pattern
15. gradient over gradient
16. color over color

Also, canvas blending should work in the following scenarios:

1. globalAlpha is set
2. drawing with paths
3. transforms are operated on the context
4. text is drawn in the canvas
5. shadow is set
6. clipping is performed

BUG=264167

Review URL: https://chromiumcodereview.appspot.com/20165003

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