generator: generalise the linker language selection
Rather than special casing C++ via the HAS_CXX
property, use the
linker language precedence to detect the language. Allow the user
to explicitly override the linker language selection by setting an
optional property (LINKER_LANGUAGE
). Interface libraries can now
be used in projects with Swift.