RFC: Introduce private symbols table
This is meant to stop exposing private symbols on the shared library; instead replacing them with macros making function calls look up function pointers from a look up table.
A python script is used to generate the boiler plate from a text file.
Ignore all but the last two commits. The first commit adds a python script, a custom target, and some initializer; the last commit is an example of how it'd be extended to deal with symbols. Thoughts?