Introduce target property <LANG>_VISIBILITY_PRESET

This is initialized by CMAKE_<LANG>_VISIBILITY_PRESET. The target
property is used as the operand to the -fvisibility= compile option
with GNU compilers and clang.
Add a COMPILE_OPTION for a VISIBILITY_INLINES_HIDDEN target property.

This corresponds to the g++ and clang++
option -fvisibility-inlines-hidden on linux. On Windows with MinGW,
this corresponds to -fno-keep-inline-dllexport. That option is
not supported by clang currently.
Merge topic 'VISIBILITY_PRESET-property' into next

d26d1f5 Add a COMPILE_OPTION for a VISIBILITY_INLINES_HIDDEN target property.
f836375 Introduce target property <LANG>_VISIBILITY_PRESET