Always assume that we use a gnu/c99 printf implementation
On Windows we use gnulib and elsewhere we use glibc or similar. Also change G_GNUC_PRINTF to use gnu_printf instead of __format__ if possible because __format__ evaluates to ms_printf under MinGW, but we use gnulib there and not the system printf. gnu_printf is only available with GCC>=4.4 and not with clang. https://bugzilla.gnome.org/show_bug.cgi?id=795569