py23 import in all nontrivial source files and unused import cleanup
diff --git a/Lib/fontTools/misc/arrayTools.py b/Lib/fontTools/misc/arrayTools.py
index 2a3c225..dad9e85 100644
--- a/Lib/fontTools/misc/arrayTools.py
+++ b/Lib/fontTools/misc/arrayTools.py
@@ -5,6 +5,7 @@
 
 
 import math
+from .py23 import *
 
 def calcBounds(array):
     """Return the bounding rectangle of a 2D points array as a tuple:
diff --git a/Lib/fontTools/misc/bezierTools.py b/Lib/fontTools/misc/bezierTools.py
index d8c70b0..3acd16f 100644
--- a/Lib/fontTools/misc/bezierTools.py
+++ b/Lib/fontTools/misc/bezierTools.py
@@ -1,6 +1,7 @@
 """fontTools.misc.bezierTools.py -- tools for working with bezier path segments.
 """
 
+from .py23 import *
 
 __all__ = [
     "calcQuadraticBounds",
diff --git a/Lib/fontTools/misc/eexec.py b/Lib/fontTools/misc/eexec.py
index 25321f4..3b75ea4 100644
--- a/Lib/fontTools/misc/eexec.py
+++ b/Lib/fontTools/misc/eexec.py
@@ -2,6 +2,8 @@
 charstring encryption algorithm as used by PostScript Type 1 fonts.
 """
 
+from .py23 import *
+
 # Warning: Although a Python implementation is provided here, 
 # all four public functions get overridden by the *much* faster 
 # C extension module eexecOp, if available.
diff --git a/Lib/fontTools/misc/homeResFile.py b/Lib/fontTools/misc/homeResFile.py
index 4c2c85b..a91afd1 100644
--- a/Lib/fontTools/misc/homeResFile.py
+++ b/Lib/fontTools/misc/homeResFile.py
@@ -4,6 +4,7 @@
 import array
 import calldll
 import macfs, Res
+from .py23 import *
 
 
 def HomeResFile(res):
diff --git a/Lib/fontTools/misc/macCreatorType.py b/Lib/fontTools/misc/macCreatorType.py
index 57d158c..6159cbb 100644
--- a/Lib/fontTools/misc/macCreatorType.py
+++ b/Lib/fontTools/misc/macCreatorType.py
@@ -3,6 +3,7 @@
 	import MacOS
 except ImportError:
 	MacOS = None
+from .py23 import *
 
 def _reverseString(s):
 	s = list(s)
diff --git a/Lib/fontTools/misc/psCharStrings.py b/Lib/fontTools/misc/psCharStrings.py
index d4d411b..894fd89 100644
--- a/Lib/fontTools/misc/psCharStrings.py
+++ b/Lib/fontTools/misc/psCharStrings.py
@@ -3,6 +3,7 @@
 """
 
 import struct
+from .py23 import *
 
 
 DEBUG = 0
diff --git a/Lib/fontTools/misc/sstruct.py b/Lib/fontTools/misc/sstruct.py
index d57e956..b11b431 100644
--- a/Lib/fontTools/misc/sstruct.py
+++ b/Lib/fontTools/misc/sstruct.py
@@ -55,6 +55,7 @@
 
 import struct
 import re
+from .py23 import *
 
 
 error = "sstruct.error"
diff --git a/Lib/fontTools/misc/textTools.py b/Lib/fontTools/misc/textTools.py
index 5632ec5..a7f988c 100644
--- a/Lib/fontTools/misc/textTools.py
+++ b/Lib/fontTools/misc/textTools.py
@@ -2,6 +2,7 @@
 
 
 import string
+from .py23 import *
 
 
 def safeEval(data, eval=eval):
diff --git a/Lib/fontTools/misc/transform.py b/Lib/fontTools/misc/transform.py
index 565aa3c..69cb3fe 100644
--- a/Lib/fontTools/misc/transform.py
+++ b/Lib/fontTools/misc/transform.py
@@ -45,6 +45,7 @@
 	>>>
 """
 
+from .py23 import *
 
 __all__ = ["Transform", "Identity", "Offset", "Scale"]
 
diff --git a/Lib/fontTools/misc/xmlReader.py b/Lib/fontTools/misc/xmlReader.py
index 4ce302e..2c10fa5 100644
--- a/Lib/fontTools/misc/xmlReader.py
+++ b/Lib/fontTools/misc/xmlReader.py
@@ -2,6 +2,7 @@
 from fontTools.misc.textTools import safeEval
 from fontTools.ttLib.tables.DefaultTable import DefaultTable
 import os
+from .py23 import *
 
 
 class TTXParseError(Exception): pass
diff --git a/Lib/fontTools/misc/xmlWriter.py b/Lib/fontTools/misc/xmlWriter.py
index 48372ea..f59e74c 100644
--- a/Lib/fontTools/misc/xmlWriter.py
+++ b/Lib/fontTools/misc/xmlWriter.py
@@ -2,7 +2,7 @@
 
 import string
 import struct
-import os
+from .py23 import *
 
 INDENT = "  "