dlopen(NULL, ...)

In Unix `dlopen(NULL, ...)` allows you to access the symbols in the current process.  The main use case for this I think it accessing libc without having to know the name of libc.  This actually already worked (at least in Linux), although there was a warning in the conversion of undef => char *, so I fixed that.

In Windows there isn't any equivalent to this, so I am emulating the behavior by iterating over the dlls linked to the current process and trying them one by one.  This adds a dep on psapi.dll, but I believe that is a core feature of Windows.