CVariant: allow return WideString as string and string as WideString

This will make CVariant more flexible and allow us to not care about real type of strings in CVariant.