SConstruct : Enable symbol visibility management
SConstruct : Enable symbol visibility management

Also make linker errors fatal when the WARNINGS_AS_ERRORS build option is chosen. This is especially useful on OSX, as it exposes problems caused by giving the same symbol different visibility in different translation units.

This reduces the size of all our shared libraries, notably reducing libIECorePython.so from 37Mb to 24Mb. More importantly, our Linux and OSX builds will now fail if we don't maintain the symbol visibility annotations properly, meaning we should break the intrepid @boberfly Windows efforts far less frequently, and he can spend his time on something more interesting.

appleseedhq/cortex,appleseedhq/cortex,appleseedhq/cortex