bpo-33361: Fix bug with seeking in StreamRecoders (GH-8278)

(cherry picked from commit a6ec1ce1ac05b1258931422e96eac215b6a05459)

Co-authored-by: Ammar Askar <ammar_askar@hotmail.com>
diff --git a/Lib/codecs.py b/Lib/codecs.py
index 3cd78fc..cfca5d3 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -847,6 +847,12 @@
         self.reader.reset()
         self.writer.reset()
 
+    def seek(self, offset, whence=0):
+        # Seeks must be propagated to both the readers and writers
+        # as they might need to reset their internal buffers.
+        self.reader.seek(offset, whence)
+        self.writer.seek(offset, whence)
+
     def __getattr__(self, name,
                     getattr=getattr):