[Bug Fix] Fix improper demangling.

According to the documentation this function returns a pointer to the start of the NUL-terminated demangled name, which is perfectly converts to std::string (because of \0).
On the other side length parameter is treated as allocated buffer size - this one is completely uninteresting for us.

If demangling fails for some reasons we just return string containing information about. It's okay, because that string is only informative anyway.