Update UserAgent string with brand change

@topfs2 You can't assume that some other function will always stay in correct state. Especially if function comes from generated file.
Sysinfo is good and logical place to have application name. std::string will prevent any pointer errors and convenient to use in C++ code.
@fritsch do you mean something like:
```` C++
static const std::string appName(CCompileInfo::GetAppName() ? CCompileInfo::GetAppName() : "UnknownApp");
````