Rewrite printf hack, and support more printf modifiers.
Hack to support strings.

This is really a hack:
* We declare a global variable for each string that occurs. Since we do not
  support const, these global variables (and thus strings) can be modified.
* We had to hack quite a bit in order to print strings.
* Representation as ASCII is hardcoded.
* Printf modifiers like %10s are still missing