func (h *Hub) Remove(es Easing) {
	adr := reflect.ValueOf(es).Pointer()
	delete(h.easings, adr)
}
Remove the easing from the hub, typically used such that it can be garbage
collected if it will not be used further.
package gease
import (
	"reflect"
	"time"
)
type Easing interface {
	Step(t time.Time) (converged bool)
}
type Hub struct {
	easings map[uintptr]Easing
}
func NewHub() *Hub {
	return &Hub{
		easings: make(map[uintptr]Easing, 100),
	}
}
func (h *Hub) Add(ess ...Easing) {
	if ess == nil {
		return
	}
	for _, es := range ess {
		adr := reflect.ValueOf(es).Pointer()
		h.easings[adr] = es
	}
}