Refactoring DrawLooper so that it can apply shadow effects as skia image filters

This fixes a bug where a bitmap's alpha channel was not being blurred when
rendering 2D canvas shadows.

BUG=100703
R=senorblanco
TEST=LayoutTest fast/canvas/canvas-drawImage-shadow-blur.html

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

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