SkPDF: PDFDevice use SkTArray<T> rather than SkTDArray<T*>

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1767713002

Review URL: https://codereview.chromium.org/1767713002
diff --git a/include/private/SkTArray.h b/include/private/SkTArray.h
index 5330e49..8577200 100644
--- a/include/private/SkTArray.h
+++ b/include/private/SkTArray.h
@@ -156,6 +156,15 @@
     }
 
     /**
+     * Version of above that uses a move constructor to initialize the new item
+     */
+    T& push_back(T&& t) {
+        T* newT = reinterpret_cast<T*>(this->push_back_raw(1));
+        new (newT) T(std::move(t));
+        return *newT;
+    }
+
+    /**
      *  Construct a new T at the back of this array.
      */
     template<class... Args> T& emplace_back(Args&&... args) {