Perform the same treatment to `dlopen()` for consistency's sake
This changes `dlopen()` to mimic `dlsym()` so that a negative result
returns `nothing`. While not necessary in the same way as in the
`dlsym()` case (there are no valid `NULL` `dlopen()` results) the
consistency is worth it.