fix gcc signedness warning
shrink size of param struct
move PRINTF_LONG_SUPPORT config to .c
optional long long int support
support %p format
support %-Ns format
limited support for %x.y integer modifiers.

We accept 'x.y' format but don't support it completely: we ignore the
'y' digit => this ignores 0-fill size and makes it == width (ie. 'x').
simple tests