Use OFData instead of a buffer for async writes

This avoids the entire problem of keeping the buffer alive until the
write finished.