Time allows code which doesn't want to deal with timing explicitly
to nonetheless allow timing events if the calling code requests.
It uses a hidden global reference to the last explicitly Start()ed Timing.
type Timing interface {
Start(name string) Timing Finish()
Print()
}
Timing allows measuring time spent in code. Each Start() starts a new
step and returns a Timing which can be used in turn to measure substeps.
Last started Timing is also available to timing-ignorant code through util.Time().