Minimal printf() implementation.

This is a minimal snprintf() implementation.
mini_snprintf() doesn't support _all_ the formatting
the glibc does but on the other hand is a lot smaller.

Here are some numbers from my STM32 project (.bin file size):
      no snprintf():      10768 bytes
      mini snprintf():    11420 bytes     (+  652 bytes)
      glibc snprintf():   34860 bytes     (+24092 bytes)