Introducing Decoder{} with *bufio.Reader.
Importing some code from the decode-state branch.