[python] fix haxe.io.Bytes#getString

now it deal beyond-BMP (astral) code points correctly.
[python] use 'replace' mode

this behavior is as same as C# and Java
Classdef.superClass can be null
default defPublic argument of XmlParser.xclassField to false so we do not get null for isPublic
add haxe.rtti.CType.CTypeTools with toString functionality
add haxe.rtti.Rtti so we have something resembling an API (also add tests)
Merge pull request #3095 from mandel59/python-bytes-bug

[python] fix haxe.io.Bytes#getString