add z modifier support, source reorg

Please consider these three patches for merge. This time, I would like you to also consider the source reorg patch (last one). Internally we are using tfp_format only, and have our own printf wrappers that are slightly more complex than the ones we had by default here: having the default implementation linked in conflicts with our own. So this patch provides a way to avoid systematically bringing in these default implementations.

If you prefer, I can keep the single-file printf.* approach, adding macros to guard against the default printf/sprintf implementation: please let me know.