ShapeDetection: add support for all CanvasImageSource input types

Currently ShapeDetector::detectFacesOn{ImageBitmap,Videoelement}()
extract the pixels out of the corresponding object; I haven't noticed
that CanvasImageSource::getSourceImageForCanvas() is a virtual method,
implemented for each CanvasImageSource, doing exactly what I needed,
which is extracting an WTF::Image.

getSourceImageForCanvas() implementations have the same checks
being performed on ToT now, so swapping one for the other is
not reducing the early-bail outs.

So, this CL factors out the code to use getSourceImageForCanvas(),
making the Shape Detection detect() work for all these different
input types, and adds LayoutTests for them.

BUG=670977, 659138

Review-Url: https://codereview.chromium.org/2553343003
Cr-Commit-Position: refs/heads/master@{#437144}
7 files changed