add GCC visibility hidding

Compile with -fvisibility=hidden with PKCS#11 C_* entry points still with default visibility.
As the result symbols become local so can be stripped (strip -x) and are no longer visible by dynamic loader, i.e., what you know in WIN32 as a DLL…
BTW even it is not very sensible in theory it makes dlopen() far faster and not only in theory the libsofthsm.so file strippable so smaller (e.g., for embedded devices).