Fix warnings about unsafe integer casts
Fix potential buffer overflow

 * vsprintf() can overflow the output buffer; use vsnprintf() instead.
 * unnecessary calls to strlen()
   - on every iteration just to see if the string end has been reached yet,
   - even though the upper bound can be derived from the return value of
     vsnprintf().
Improve workaround for C99 vsnprintf() in MS CRT

* Separate printing (c99_vsnprintf() and vsnprintf_truncate()) from return
  value truncation
* Improve c99_vsnprintf() as in http://stackoverflow.com/a/8712996
Fix corner case of arrays of length zero
Merge pull request #62 from dekadenZ/fix-buffer-overflow

Fix potential buffer overflow in DGFont::print()