Add a simple linker test/demo for DOS
Implement freopen()
Fix handling of -I<path> and -SI<path>

Fixes:
- -I<path> was treated as -SI<path> in smlrc
- -SL<path> wasn't honored in smlrcc when system headers weren't found

Improvements:
- smlrcc will continue looking for system headers and system libraries
until it finds both (or just the headers if there's no need to link in
the library) using all the methods known to it (i.e. environment
variables, path to smlrcc.exe). If the headers are found, the
appropriate -SI<path> will be additionally passed to smlrc and the -SI
options given on the command line will take precedence over it in
smlrc's search for system headers. If the headers aren't found, the
option isn't passed and a compilation error may occur unless proper -SI
is provided on the command line.

This should make it easier to specify desired locations of the system
headers and libraries on the command line using -SI<path> and -SL<path>.