NBAIO: re-implement NBAIO Pipe and MonoPipe using fifo

Also removed const from NBAIO_Sink::availableToWrite() because
at least one implementation can no longer implement the const-ness.

Test: normal mixer, tee sink, and remote submix still work
Change-Id: I8461177efdf53bba8295b147e97835b018804903
diff --git a/include/media/nbaio/MonoPipeReader.h b/include/media/nbaio/MonoPipeReader.h
index b3c891d..0776ecd 100644
--- a/include/media/nbaio/MonoPipeReader.h
+++ b/include/media/nbaio/MonoPipeReader.h
@@ -27,7 +27,7 @@
 public:
 
     // Construct a MonoPipeReader and associate it with a MonoPipe;
-    // any data already in the pipe is visible to this PipeReader.
+    // any data already in the pipe is visible to this MonoPipeReader.
     // There can be only a single MonoPipeReader per MonoPipe.
     // FIXME make this constructor a factory method of MonoPipe.
     MonoPipeReader(MonoPipe* pipe);
@@ -59,6 +59,7 @@
 
 private:
     MonoPipe * const mPipe;
+    audio_utils_fifo_reader mFifoReader;
 };
 
 }   // namespace android