Make WelsVsprintf use vsnprintf, to check the buffer size

Otherwise builds on platforms other than MSVC might be
insecure.

Use vsnprintf_s with the _TRUNCATE flag instead of vsprintf_s
when using MSVC - this truncates the buffer instead of aborting
the whole process in case it's too small.
Rename WelsVsprintf to WelsVsnprintf, to indicate that it actually checks the length
Use vsnprintf in the old MSVC version of WelsSnprintf as well
Make sure the buffer always is null terminated in the *snprintf calls for old MSVC

These functions leave the buffer unterminated in case it was too
small.
Make sure the buffer is null terminated after strftime

If the buffer is too small, there's no guarantee that it is
null terminated. The docs (on both unix and MSVC) say explicitly
that the function returns 0 and the buffer contents are
indeterminate in this case.
Merge pull request #233 from mstorsjo/snprintf-fixes

Make the *snprintf (and similar) functions always null terminate the buffer properly on all platforms