Remove IPDFSDK_AnnotHandler::CanUndo() and friends.

Add CPDFSDK_Annot::CanUndo() and make the IPDFSDK_AnnotHandler overrides
CPDFSDK_Annot overrides. Then remove the pass-through via
CPDFSDK_AnnotHandlerMgr. Also update CanRedo(), Undo() and Redo().

Change-Id: I9c299ec1c988700fd6cab9d1ac3142a63d431a4a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/92330
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_annot.h b/fpdfsdk/cpdfsdk_annot.h
index 22e5515..b476014 100644
--- a/fpdfsdk/cpdfsdk_annot.h
+++ b/fpdfsdk/cpdfsdk_annot.h
@@ -32,6 +32,10 @@
   virtual CFX_FloatRect GetRect() const = 0;
   virtual bool DoHitTest(const CFX_PointF& point) = 0;
   virtual CFX_FloatRect GetViewBBox() = 0;
+  virtual bool CanUndo() = 0;
+  virtual bool CanRedo() = 0;
+  virtual bool Undo() = 0;
+  virtual bool Redo() = 0;
 
   // Three cases: PDF page only, XFA page only, or XFA page backed by PDF page.
   IPDF_Page* GetPage();     // Returns XFA Page if possible, else PDF page.