Seekable

Seekable permits random access read and write

Multiple Accesses

Multiple Random accesses from a file opened only a single time
    // TODO at the moment I am not sure what the best way to perform multiple
    // read / write operations on a single file.  The typical seek - write - seek - read
    // does not seem very "scala-like"

    // A potential idea is to have the access like:
    // file.apply { file =>
    //   val name:Seekable = file.bytes.slice(5,10)  // take bytes 5 -> 10
    //   name.write("hello")(codec)  // overwrite bytes 5-10
    // }