Use visibility instead of just filtering using version script
In case version script support is not available we can still
able to filter symbols exported.
This for instance will work with linkers not supporting
--version-script
(like system MacOS one).
Attention was paid to not change public headers, no new macros are exported. So new macros were added to spice-common.h which was included in different source files.
Tested that exported symbols remains the same from both Linux and Windows shared libraries.