make tfp_format the main function, move the others to separate files.

If TFP_PRINTF_STDIO, then it defines macros
printf/vprintf/snprintf/sprintf/vsnprintf/vsprintf that refer to the
tfp_ functions.

The sprintf functions are moved to sprintf.{c,h}.
The printf and init_printf functions are moved to printf.{c,h}.
makes sprintf signatures compatible with C99, fix a const warning in
tfp_format.
added C++ boilerplate (extern "C").
added sprintf tests (test identical result+string as system's libc).