Dynamic linking support for Stringleton.
This crate always produces a dynamic library, and it should be used by any
crate that ends up being a cdylib. When this appears somewhere in the
dependency graph, it causes the Rust compiler to produce a dynamic version
of stringleton-registry, which means that both uses of stringleton and
stringleton-dylib use the same symbol registry, so Symbols can be safely
passed across the dynamic linking boundary.
The host crate can safely use stringleton as a dependency, except when
dynamic libraries using stringleton-dylib are loaded at runtime (i.e.,
Rust cannot know that stringleton-registry should be dynamically linked).
In that case, the host crate should specify this crate as its dependency
instead of stringleton.