func (d Decoder) NewReader(rd io.Reader) *Reader {
	b := new(Reader)
	b.buf = make([]byte, defaultBufSize)
	b.rd = rd
	b.decode = d
	return b
}
NewReader creates a new Reader that uses the receiver to decode text.
package mahonia
import (
	"io"
	"unicode/utf8"
)
const (
	defaultBufSize = 4096
)
type Reader struct {
	buf    []byte
	rd     io.Reader
	decode Decoder
	r, w   int
	err    error
}