Implement SkPicture::hasText() for SkRecord backend.

Plus, some small tweaks to the existing code surrounding it.  Just proposals,
will undo whatever you don't like.

BUG=skia:
R=mtklein@google.com, tomhudson@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/494683003
diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h
index f1ff19c..06cc6e2 100644
--- a/include/core/SkPicture.h
+++ b/include/core/SkPicture.h
@@ -307,18 +307,18 @@
     SkAutoTUnref<SkBBoxHierarchy> fBBH;
 
     struct Analysis {
-        // To get setup to work cleanly, we cast away constness and call init()
-        // instead of trying to set everything during construction.
-        void init(const SkRecord&);
+        Analysis() {}  // Only used by SkPictureData codepath.
+        explicit Analysis(const SkRecord&);
 
         bool suitableForGpuRasterization(const char** reason, int sampleCount) const;
 
         bool        fWillPlaybackBitmaps;
+        bool        fHasText;
         int         fNumPaintWithPathEffectUses;
         int         fNumFastPathDashEffects;
         int         fNumAAConcavePaths;
         int         fNumAAHairlineConcavePaths;
-    } const                       fAnalysis;
+    } fAnalysis;
 };
 
 #endif