catalyst_api: load libraries into the global space on ELF platforms
Apple is OK with RTLD_LOCAL, but on Linux, loading a library with
RTLD_LOCAL applies to transitive libraries as well. Given the
following linking setup:
libcatalyst-foo.so -> libbar.so -> libshared.so -> libfoo.so -> libshared.so
with RTLD_LOCAL, libbar.so and libshared.so are loaded into a
private namespace. When libfoo.so is then loaded, it sees that
libshared.so is private and isn't accessible which causes it to
complain about it missing symbols from libshared.so. Just use
RTLD_GLOBAL to avoid this problem.