didn't support them and the emulated versions were just as good
except for a performance problem with excessive locking and
unlocking of a mutex. So this also changes IArchString to
provide string rather than character conversion so we can lock
the mutex once per string rather than once per character.
and the platform specific implementations to lib/platform.
Added an lib/arch method to query the platform's native wide
character encoding and changed CUnicode to use it. All
platform dependent code is now in lib/arch, lib/platform,
and the programs under cmd. Also added more documentation.
lib/arch. This should make porting easier. Will probably
continue to refactor a little more, moving platform dependent
event handling stuff into lib/platform.