Visibility hidden

Allows support for the `fvisibility=hidden` flag with gcc/clang on linux/osx.