Fixed bug in dyad_vwritef()

In dyad_vwritef(): A format specifier that was passed to vsprintf()
(such as %i, %f etc.) which was then followed by a specifier which was
not passed to vsprintf() (such as %c, %s or %r) would result in a
segfault. The function has now been changed to use sprintf() instead of
passing the va_list directly to vfprintf().