Implement Target::mangle for target-specific C++ mangling.

Target-specific mangling shouldn't go in cppmangle.

At last check, only TypeStruct, TypeVector or TypeBasic types have target mangling.

TypeStruct - va_list types on ARM and AArch64.
TypeVector - ARM and various other archs may mangle this specially.
TypeBasic - Platforms that support __float128 as "g"