*_ShowMsg() fixed to use vsnprintf() to avoid buffer overflow, and to
make use of return value of snprintf() to avoid the need for strlen()
and strcat().
BOOT: throw an exception (throw int(2)) to force stack to unwind back
down to SDLMain(). Move DOS kernel shutdown and guest OS boot to
SDLMain(). The idea is to avoid having the DOS_Shell and AUTOEXEC
objects active in the call stack while running a guest OS.