[PDF] Add support for Shaders.

- Shaders, or as they are referred to in PDF, patterns, are drawn in the coordinate system of the initial page, so when we canonicalize them, we have to consider the current transform and where they are constructed.

- Image shaders are tiled by default, this makes repeat and mirror modes easy, but means we have to draw a pattern as large as the current clip to support clamp mode.

- Gradient shaders are implemented with type 4 functions, which are basically small snippets of post script code.  I've tried to make the code generation modular and heavily commented to make it easy to understand or expand.

Review URL: http://codereview.appspot.com/4239061

git-svn-id: http://skia.googlecode.com/svn/trunk@905 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/pdf/SkPDFStream.h b/include/pdf/SkPDFStream.h
index 35e199f..a975ad6 100644
--- a/include/pdf/SkPDFStream.h
+++ b/include/pdf/SkPDFStream.h
@@ -26,7 +26,8 @@
 
 /** \class SkPDFStream
 
-    A stream object in a PDF.
+    A stream object in a PDF.  Note, all streams must be indirect objects (via
+    SkObjRef).
 */
 class SkPDFStream : public SkPDFDict {
 public: