This marks classes tagged with YAML_CPP_API with visibility("default"), to
explicitly export them, and then makes the defalt visibility "hidden" via
-fvisibility=hidden.
This reduces the number of exported symbols by more than 50%, which has
a small application start-up time and memory useage benefit. It also
makes it more feasible to audit the set of exported symbols in automated
ABI compatibility systems.