-static-* are linker flags, test them as such

Fixes ARM build where CMake passed -static-libgcc, but not
-static-libstdc++ to the linker, resulting in undefined references.
Fix build on armv6j and with older glibc

- Be more careful about the distinction between CXX and linker flags.
- Define -D_GNU_SOURCE=1 for compatibility with older glibc versions.
Fix conversion warnings in bswap_16()
Improve iconv error handling

- Change conversion errors to warnings
- Only print one warning if iconv_open() fails
- Add a fall-back converter
- Replace bad code sequences and try to resume on the next byte
Windows: buffer progress bar output, use dim white

... as the "default" color.
CMake: Allow for changing the bin install dir

Also, use the standard CMake option name for the man dir.