GUIScript: changing signature and implementation of SetItemText

only ever used with button anyway. this will avoid repeated control lookups and reduce code duplication
also converting from char* to String
Control::SetText: removing char* version and adding a String* version

String* version just checks the pointer before calling the String& version
Console: use the existing MBCString conversion function

even tho it doesnt work exactly right (nor did what was here previously)
add some error checking to MBCStringFromString
MapNote: convert text to String type

some caveats here, but it shouldnt be anymore broken than it was before
GUIScript: fixing SetText

while its true that passing 'None' would behave correctly, it also set would set a 'TypeError' which resulted in console message about incorrect types.
handleing py_None case on its own will avoid those.
MBCStringFromString: add a hack to remain compatible with non-MB cStrings

well examine how to fix all the locale/encoding assumptions later. (more things need to be converted)
TextEdit: remove cstring version of SetText