gcc hide symbols

Adds an option to disable hiding symbols not on the public API when using gcc (by default hide symbols).
In some older gcc versions, -fvisibility=hidden  and -fvisibility-inlines-hidden don't work correctly.
Not hiding the symbols make it possible to build appleseed with those versions of gcc.