bpo-15303: Support widgets with boolean value False in Tkinter (GH-23904)

Use `widget is None` instead of checking the boolean value of a widget.
diff --git a/Lib/tkinter/font.py b/Lib/tkinter/font.py
index c051162..7f6ba5a 100644
--- a/Lib/tkinter/font.py
+++ b/Lib/tkinter/font.py
@@ -68,7 +68,7 @@ def _mkdict(self, args):
 
     def __init__(self, root=None, font=None, name=None, exists=False,
                  **options):
-        if not root:
+        if root is None:
             root = tkinter._get_default_root('use font')
         tk = getattr(root, 'tk', root)
         if font:
@@ -183,7 +183,7 @@ def metrics(self, *options, **kw):
 
 def families(root=None, displayof=None):
     "Get font families (as a tuple)"
-    if not root:
+    if root is None:
         root = tkinter._get_default_root('use font.families()')
     args = ()
     if displayof:
@@ -193,7 +193,7 @@ def families(root=None, displayof=None):
 
 def names(root=None):
     "Get names of defined fonts (as a tuple)"
-    if not root:
+    if root is None:
         root = tkinter._get_default_root('use font.names()')
     return root.tk.splitlist(root.tk.call("font", "names"))