func NewReader(rd io.Reader) *Reader {
	return &Reader{
		buffer: list.New(),
		input:  bufio.NewReader(rd),
	}
}
NewReader returns a new Reader.
package buffruneio
import (
	"bufio"
	"container/list"
	"errors"
	"io"
)
const (
	EOF = -(iota + 1)
)
var ErrNoRuneToUnread = errors.New("no rune to unwind")
type Reader struct {
	buffer  *list.List
	current *list.Element
	input   *bufio.Reader
}