Write length prefixed string to buf.
Normally FuncDeclaration and FuncAliasDeclaration have overloads. If and only if there is no overloads, mangle() could return exact mangled name.
Type mangling
See Implementation