add doc specific to tfp_format
remove pointless test
moving tests to new test/ subdir
rename printf.* -> tinyprintf.*
allow to selectively compile-in printf/sprintf
test that tinyprintf compiles with various TINYPRINTF_* combinations
add snprintf/vsnprintf/vsprintf + tests

Note that these functions are supposed to return the number of chars
stored, this changes slightly the data structure they pass to
tfp_format.
set explicit C linkage
let gcc warn when printf params types don't match format

this moving the printf macro definition at the end of header,
otherwise tha gcc __attribute__'s name will be 'tfp_format', which is
invalid.