Clean up and optimize minimal printf()
Clean up and optimize minimal printf()

Simplify negative sign handling, shave off about 60 bytes on x86.
Total footprint on x86 -Os is about 740-750 bytes.

jmptrader/duktape,harold-b/duktape,markand/duktape,svaarala/duktape,jmptrader/duktape,markand/duktape,harold-b/duktape,markand/duktape,svaarala/duktape,jmptrader/duktape,jmptrader/duktape,harold-b/duktape,harold-b/duktape,jmptrader/duktape,svaarala/duktape,markand/duktape,harold-b/duktape,markand/duktape,markand/duktape,svaarala/duktape,svaarala/duktape,markand/duktape,jmptrader/duktape,markand/duktape,markand/duktape,harold-b/duktape,svaarala/duktape,svaarala/duktape,jmptrader/duktape,svaarala/duktape,harold-b/duktape,jmptrader/duktape,harold-b/duktape,markand/duktape,jmptrader/duktape,jmptrader/duktape,harold-b/duktape,svaarala/duktape,harold-b/duktape