/*
 * call-seq:
 *    initialize(io = nil)
 *
 * @param [File] io the file which to write compressed data to
 *
 * Creates a new Bzip2::Writer for compressing a stream of data. An optional
 * io object (something responding to +write+) can be supplied which data
 * will be written to.
 *
 * If nothing is given, the Bzip2::Writer#flush method can be called to retrieve
 * the compressed stream so far.
 *
 *    writer = Bzip2::Writer.new File.open('files.bz2')
 *    writer << 'a'
 *    writer << 'b'
 *    writer.close
 *
 *    writer = Bzip2::Writer.new
 *    writer << 'abcde'
 *    writer.flush # => 'abcde' compressed
 */
static VALUE bz_writer_init(int argc, VALUE *argv, VALUE obj) {