Remove IXFA_Parser, cleanup XFA parser code.

The IXFA_Parser only created a CXFA_SimpleParser, the CXFA_DocumentParser is
only created in one spot and doesn't need all the IXFA_Parser methods.

This CL removes IXFA_Parser, instantiates the CXFA_SimpleParser where needed
and cleans up surrounding code.

Review-Url: https://codereview.chromium.org/2123133004
diff --git a/xfa/fxfa/include/xfa_ffdoc.h b/xfa/fxfa/include/xfa_ffdoc.h
index 2ea8298..b8795bc 100644
--- a/xfa/fxfa/include/xfa_ffdoc.h
+++ b/xfa/fxfa/include/xfa_ffdoc.h
@@ -38,7 +38,7 @@
   FX_BOOL OpenDoc(CPDF_Document* pPDFDoc);
   FX_BOOL CloseDoc();
   void SetDocType(uint32_t dwType);
-  CXFA_Document* GetXFADoc() { return m_pDocument; }
+  CXFA_Document* GetXFADoc() { return m_pDocumentParser->GetDocument(); }
   CXFA_FFApp* GetApp() { return m_pApp; }
   CXFA_FFDocView* GetDocView(CXFA_LayoutProcessor* pLayout);
   CXFA_FFDocView* GetDocView();
@@ -54,10 +54,10 @@
 
  protected:
   IXFA_DocProvider* m_pDocProvider;
-  CXFA_Document* m_pDocument;
+  std::unique_ptr<CXFA_DocumentParser> m_pDocumentParser;
   IFX_FileRead* m_pStream;
   CXFA_FFApp* m_pApp;
-  CXFA_FFNotify* m_pNotify;
+  std::unique_ptr<CXFA_FFNotify> m_pNotify;
   CPDF_Document* m_pPDFDoc;
   std::map<uint32_t, FX_IMAGEDIB_AND_DPI> m_HashToDibDpiMap;
   std::map<uint32_t, std::unique_ptr<CXFA_FFDocView>> m_TypeToDocViewMap;