Symbolization is a costly operation: do it only when requested. Rework
the C API to make this possible. For now, do it automatically in the
Java API to avoid breaking existing Java programs: this will fix the
performance situation in the other C-based APIs.
Putting the implementation of helper functions in headers (static
functions) yields inconvenient warnings about unused functions. Put
implementations in regular functions in "*.c" files instead.