Make sure SkDrawLooper objects can only be allocated on the heap.

Make constructors of SkLayerDrawLooper and SkBlurDrawLooper non-public.
Remove addLayer* methods from SkLayerDrawLooper. SkLayerDrawLooper::Builder is
used to create new objects.
Provide factory method for creating SkBlurDrawLooper.

BUG=2141
R=scroggo@google.com, reed@google.com, djsollen@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/232913003

git-svn-id: http://skia.googlecode.com/svn/trunk@14200 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/PaintTest.cpp b/tests/PaintTest.cpp
index c41e23a..cfbe23a 100644
--- a/tests/PaintTest.cpp
+++ b/tests/PaintTest.cpp
@@ -147,7 +147,8 @@
     paint.setTextAlign(SkPaint::kLeft_Align);
     paint.setStrokeWidth(SkIntToScalar(2));
     // set a few pointers
-    SkLayerDrawLooper* looper = new SkLayerDrawLooper();
+    SkLayerDrawLooper::Builder looperBuilder;
+    SkLayerDrawLooper* looper = looperBuilder.detachLooper();
     paint.setLooper(looper)->unref();
     SkMaskFilter* mask = SkBlurMaskFilter::Create(SkBlurMaskFilter::kNormal_BlurStyle,
                                       SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(1)));