startup environ bugfix: Windows 3.1 win32s does not actually support
GetEnvironmentStrings() and will return NULL when called. When compiled
for win32s target, additional code will create a fake environment block
using HeapAlloc. This fixes the NULL pointer reference crash on Windows
3.1, which happened in __setenvp() where the library breaks the
environment strings into envp[]. The code assumed the envp pointer was
non-NULL.