Issue #24137: Run IDLE, test_idle, and htest with tkinter default root disabled.
Fix code and tests that fail with this restriction.
Fix htests to not create a second and redundant root and mainloop.
diff --git a/Lib/test/test_idle.py b/Lib/test/test_idle.py
index 46f1a5c..9d52394 100644
--- a/Lib/test/test_idle.py
+++ b/Lib/test/test_idle.py
@@ -6,6 +6,7 @@
 tk = import_module('tkinter')  # imports _tkinter
 if tk.TkVersion < 8.5:
     raise unittest.SkipTest("IDLE requires tk 8.5 or later.")
+tk.NoDefaultRoot()
 idletest = import_module('idlelib.idle_test')
 
 # Without test_main present, regrtest.runtest_inner (line1219) calls