Use RetainableTreeNode for LayoutItems.

Removes explicit deletes.

The CL at https://pdfium-review.googlesource.com/c/pdfium/+/54790
fixes a lifetime issue with TT faces that was exposed by this CL.

Update a few places where the FF widgets go away earlier.

Change-Id: I52ba800af7044a418365fa1df6cf56065103fed9
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/54190
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_interactiveform.cpp b/fpdfsdk/cpdfsdk_interactiveform.cpp
index 6d65d57..b33bd06 100644
--- a/fpdfsdk/cpdfsdk_interactiveform.cpp
+++ b/fpdfsdk/cpdfsdk_interactiveform.cpp
@@ -235,8 +235,8 @@
 }
 
 void CPDFSDK_InteractiveForm::RemoveXFAMap(CXFA_FFWidget* hWidget) {
-  ASSERT(hWidget);
-  m_XFAMap.erase(hWidget);
+  if (hWidget)
+    m_XFAMap.erase(hWidget);
 }
 
 CPDFSDK_XFAWidget* CPDFSDK_InteractiveForm::GetXFAWidget(