Issue #27626: Spelling fixes in docs, comments and internal names

Based on patch by Ville Skyttä.
diff --git a/Tools/clinic/clinic_test.py b/Tools/clinic/clinic_test.py
index ac0640c..a9479a6 100644
--- a/Tools/clinic/clinic_test.py
+++ b/Tools/clinic/clinic_test.py
@@ -90,7 +90,7 @@
         # the "end line" for the block if it
         # didn't end in "\n" (as in, the last)
         # byte of the file was '/'.
-        # so it woudl spit out an end line for you.
+        # so it would spit out an end line for you.
         # and since you really already had one,
         # the last line of the block got corrupted.
         c = clinic.Clinic(clinic.CLanguage(None))
diff --git a/Tools/demo/redemo.py b/Tools/demo/redemo.py
index b10b030..8335d4c 100755
--- a/Tools/demo/redemo.py
+++ b/Tools/demo/redemo.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-"""Basic regular expression demostration facility (Perl style syntax)."""
+"""Basic regular expression demonstration facility (Perl style syntax)."""
 
 from tkinter import *
 import re
diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py
index c075807..44edd57 100755
--- a/Tools/freeze/freeze.py
+++ b/Tools/freeze/freeze.py
@@ -159,7 +159,7 @@
     except getopt.error as msg:
         usage('getopt error: ' + str(msg))
 
-    # proces option arguments
+    # process option arguments
     for o, a in opts:
         if o == '-h':
             print(__doc__)