[reduce libc dependency] make tprintf printers 'print' method accept the 'printer_t' object so they could have a context
[reduce libc dependency] expose integer printing function in tprintf
[reduce libc dependency] add tsnprintf(). use it instead of snprintf in tnum.c