Added macros to explicitly define .so symbols visibility on 3 compilers
Renamed old LIBSOKOENGINE_DLL_API to new LIBSOKOENGINE_API macro.
Refined .so symbols visibility for most of the core module.
Refined .so symbols visibility for game and io modules.
Refined .so symbols visibility for variant module.
Specs code reorganization and some cleanups.
Hidden remaining symbols in variant module.
Built libsokoengine OBJECT library so tests can see hidden symbols.
Merge branch 'feature/so_symbols_visibility' into development