/**
 *  call-seq:
 *    Rev::Buffer#write_to(io) -> Integer
 * 
 * Perform a nonblocking write of the buffer to the given IO object.
 * As much data as possible is written until the call would block.
 * Any data which is written is removed from the buffer.
 */
static VALUE Rev_Buffer_write_to(VALUE self, VALUE io) {