Use libdl's dlsym() and not libc's dlsym().

NVIDIA's libGL uses dlsym() to get references to libc functions
like posix_memalign(). You cannot use libc's dlsym() to lookup libc
functions (results in SIGSEGV). libdl's dlsym() should be used
instead. Indeed, we should probably be using libdl's dlsym()
whenever possible---we do so with this patch. libc's dlsym() is now
only used to lookup libdl's dlsym().