[Merge to XFA] Revert "Revert "Add type cast definitions for CPDF_Dictionary.""

This reverts commit 937840e1722d1f2b77d80575d6e710d760662c9c.

Add type cast definitions for CPDF_Dictionary.

This CL adds ToCPDFDictionary type definitions and updates one file to use
instead of straight casts. I had to fix two places where we'd casted off the
constness of the original pointer.

BUG=pdfium:201
R=tsepez@chromium.org

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

(cherry picked from commit 39869b641511c882d78e17548293cdb458c36f38)

Review URL: https://codereview.chromium.org/1410343003 .
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
index cfc2f0d..c2157e9 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -1051,8 +1051,8 @@
   }
   if (!pDestObj)
     return NULL;
-  if (pDestObj->GetType() == PDFOBJ_DICTIONARY) {
-    pDestObj = ((CPDF_Dictionary*)pDestObj)->GetArray(FX_BSTRC("D"));
+  if (CPDF_Dictionary* pDict = pDestObj->AsDictionary()) {
+    pDestObj = pDict->GetArray(FX_BSTRC("D"));
     if (!pDestObj)
       return NULL;
   }