Not sure we need this structure and its corresponding delegating methods.  See here for how I did it by just implementing Closer, but leaving Reader and Seeker to the bytes.Reader type.  http://play.golang.org/p/wmv6cnk-U8

That said, I consulted with the IRC channel #go-nuts on irc.freenode.net, and one person suggested instead that we don't bother returning an interface.  Instead, as with os.OpenFile(), we just return a (pointer to a) structure.  Then, for whatever interfaces we want it to have, we just implement those methods on that data structure.  I wonder what aspects of the design would change if we adopt this idea?  I'll need to think more on this.  It might be the better way; prior art exists for this approach (the std lib, specifically).

Thoughts?