Refactors the exported content in globals.h, c_defines.h, and globals_shared.h into a new file core/lib/globals_api.h, which is exported as dr_defines.h.
Removes the duplicate printf macros in globals_shared.h in favor of those in globals_api.h.
Renames mcxtx.h to mcxtx_api.h, exports it as dr_mcxtx.h, and resorts to an ifdef to include the internal name vs the external.
Drops support for non-HAVE_FVISIBILITY. This allows us to remove genapi.pl altogether.
Documents the _api.h naming convention.
Fixes #3092 (closed)