build libsmf as a static library, since it is private to evoral and would otherwise require export visibility control

This also removes -fvisibility=hidden, a change that is taking place across the source tree and will show up in a later commit elsewhere
add export/visibility macros to libtimecode and build as a shared library again
move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again
remove taglib from source tree (require external provision)
add missing export/visibility macro
add new file
add export visibility macro
add -fvisibility=default back to cxx/cflags when building QM DSP and VAMP plugins libs, because ... ugh
remove VAMP and Rubberband from source tree
add LIBEVORAL_TEMPLATE_API to deal with gcc/msvc difference of opinion
use LIBEVORAL_TEMPLATE_API

Also clean up unnecessary comments - git blame provides complete per-line history, no need to leave comments behind
add new file (required by MSVC) to sources list
fix 64 bit template types
use LIBEVORAL_TEMPLATE_API with Evoral::Note