cleaned up api

Instead of having a convoluted handling of changing samples to seconds,
instead make parsers return segments with start, end, and duration, and
then have a scale method which will rescale the samples to the sampling
frequency. Significantly more clean.