Add alphaType() to SkImage

Keep isOpaque as a convenience method -- many places really only need to
know that for optimization purposes (SrcOver -> Src, etc...).

In all the places where we pull data back out or convert to another
object and need to supply an SkImageInfo, we can avoid losing information
about premulness.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2250663002

Review-Url: https://codereview.chromium.org/2250663002
diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp
index acfacea..d334dfb 100644
--- a/src/image/SkImage_Raster.cpp
+++ b/src/image/SkImage_Raster.cpp
@@ -79,6 +79,9 @@
     SkImageInfo onImageInfo() const override {
         return fBitmap.info();
     }
+    SkAlphaType onAlphaType() const override {
+        return fBitmap.alphaType();
+    }
 
     bool onReadPixels(const SkImageInfo&, void*, size_t, int srcX, int srcY, CachingHint) const override;
     bool onPeekPixels(SkPixmap*) const override;
@@ -95,7 +98,6 @@
 
     SkPixelRef* getPixelRef() const { return fBitmap.pixelRef(); }
 
-    bool isOpaque() const override;
     bool onAsLegacyBitmap(SkBitmap*, LegacyBitmapMode) const override;
 
     SkImage_Raster(const SkBitmap& bm, bool bitmapMayBeMutable = false)
@@ -359,10 +361,6 @@
     return ((const SkImage_Raster*)image)->getPixelRef();
 }
 
-bool SkImage_Raster::isOpaque() const {
-    return fBitmap.isOpaque();
-}
-
 bool SkImage_Raster::onAsLegacyBitmap(SkBitmap* bitmap, LegacyBitmapMode mode) const {
     if (kRO_LegacyBitmapMode == mode) {
         // When we're a snapshot from a surface, our bitmap may not be marked immutable