Remove most quotingType allocations in JimMakeListStringRep

Only two bits are needed, so also change to unsigned char from int.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Implement WideToString locally, printf is slow

Even though it shouldn't need to, sprintf uses the libc-internal mutex,
locale support, and other parts making it slow.

[while] busy loop     -       306 ms       311 ms	-
[for] busy loop       -       180 ms       182 ms	-
mini loops            -       146 ms       146 ms	-
fibonacci(25)         -       191 ms       176 ms	92.1466
heapsort              -       138 ms       131 ms	94.9275
sieve                 -       182 ms       143 ms	78.5714
sieve [dict]          -       162 ms       138 ms	85.1852
ary                   -       188 ms       166 ms	88.2979
ary [dict]            -       173 ms       156 ms	90.1734
repeat                -       132 ms       130 ms	-
upvar                 -       142 ms       147 ms	-
nested loops          -       173 ms       173 ms	-
rotate                -        22 ms        22 ms	-
dynamic code          -       108 ms        97 ms	89.8148
dynamic code (list)   -        45 ms        46 ms	-
PI digits             -       333 ms       319 ms	95.7958
expand                -        46 ms        45 ms	-
wiki.tcl.tk/8566      -       251 ms       235 ms	93.6255
mandel                -       212 ms       199 ms	93.8679

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Further improvements to JimWideToString

Small time and space improvements

Signed-off-by: Steve Bennett <steveb@workware.net.au>