Begin kLegacyFontHost_InitType cleanup

This CL starts the process of pushing kLegacyFontHost_InitType-type SkSurfaceProps up the call stack and out of Skia. It:

 Gets rid of the default SkBaseDevice ctor. This means everyone has to always hand an explicit SkSurfaceProps to it.

 It makes public the SkBitmapDevice creation methods that require SkSurfaceProps.

 Removes (in Skia's code base) all SkBitmapDevice ctor calls w/o SkSurfaceProps.

 Makes the "recording" canvases (e.g., pdf, svg, xps) explicitly not use kLegacyFontHost_InitType.

 Replicates the creating canvas/device's flags on saveLayer devices

BUG=skia:3934

Review URL: https://codereview.chromium.org/1204433002
diff --git a/tests/SkImageTest.cpp b/tests/SkImageTest.cpp
index 3ba63b4..c058ef0 100644
--- a/tests/SkImageTest.cpp
+++ b/tests/SkImageTest.cpp
@@ -5,7 +5,7 @@
  * found in the LICENSE file.
  */
 
-#include "SkBitmapDevice.h"
+#include "SkCanvas.h"
 #include "SkImagePriv.h"
 #include "Test.h"
 
@@ -19,8 +19,7 @@
         SkBitmap srcBitmap;
         srcBitmap.allocN32Pixels(gWidth, gHeight);
         srcBitmap.eraseColor(SK_ColorRED);
-        SkBitmapDevice dev(srcBitmap);
-        SkCanvas canvas(&dev);
+        SkCanvas canvas(srcBitmap);
         SkIRect r = SkIRect::MakeXYWH(5, 5, gWidth - 5, gWidth - 5);
         SkPaint p;
         p.setColor(SK_ColorGREEN);
@@ -32,8 +31,7 @@
 
     SkBitmap tgt;
     tgt.allocN32Pixels(gWidth, gHeight);
-    SkBitmapDevice dev(tgt);
-    SkCanvas canvas(&dev);
+    SkCanvas canvas(tgt);
     canvas.clear(SK_ColorTRANSPARENT);
     canvas.drawImage(image, 0, 0, NULL);