patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe

Problem:    A lot of code is shared between vim.exe and gvim.exe.
Solution:   Optionally put the shared code in vim.dll. (Ken Takata,
            closes #4287)
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index a35d000..f648e74 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -822,7 +822,7 @@
 static EventLoopTimerUPP timerUPP;
 #endif
 
-#ifndef FEAT_GUI_MSWIN /* Win32 console and Unix */
+#if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) /* Win32 console and Unix */
     void
 mzvim_check_threads(void)
 {
@@ -1775,9 +1775,11 @@
     case -2:
 	MZ_GC_UNREG();
 	raise_vim_exn(_("hidden option"));
+	/*NOTREACHED*/
     case -3:
 	MZ_GC_UNREG();
 	raise_vim_exn(_("unknown option"));
+	/*NOTREACHED*/
     }
     /* unreachable */
     return scheme_void;