refactor to a struct with  Check() method on it

The configuration values were unlikely to change throughout the run of a
program -- it's nice to move them to be fields of the detector.

Also added some defaults so that an empty Detector is usable.