Instead of messing around with varargs, create individual wrappers for each type supported. The va_list approach was getting problems with float/double on Windows.
Buildsystem integration will come in a future commit