wio: Make w_io_putback() receive character as integer

Making w_io_putback() receive the character to put back as an integer is
needed to ensure that the W_IO_EOF value gets passed correctly, without the
upper bits being truncated. Otherwise the seemingly innocent call:

   w_io_putback (io, W_IO_EOF);

which should be a no-op (or, if there was a valid character that had been
put back before, it being cancelled), will not work. This is particularly
important for some functions from wiofscan.c which process input one character
at a time, and assume that putting back W_IO_EOF causes no harm.