Adds a job to the
write batch and schedules
a new frame if need be.

@param  {Function} fn
@public
function(fn, ctx) {
        var task = !ctx ? fn : fn.bind(ctx);
        this.writes.push(task);
        scheduleFlush(this);
        return task;
    }