first draft at throttled and measured io.Reader/io.Writer