Issue #18604: Consolidated checks for GUI availability.

test_support._is_gui_available is now defined the same way on every
platform, and now includes the Windows-specific check that had been in the
Windows version of _is_gui_available and the OSX-specific check that was
in runtktests.check_tk_availability.  Also, every platform checks whether
Tk can be instantiated (if the platform-specific checks passed).
diff --git a/Misc/NEWS b/Misc/NEWS
index ab71e01..e71c049 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -329,6 +329,10 @@
 Tests
 -----
 
+- Issue #18604: Consolidated checks for GUI availability.  All platforms now
+  at least check whether Tk can be instantiated when the GUI resource is
+  requested.
+
 - Issue #20946: Correct alignment assumptions of some ctypes tests.
 
 - Issue #20743: Fix a reference leak in test_tcl.