Move SMPTE handling to agi::vfr::Framerate to get all of the interesting
logic dealing with timcodes in one place, and to make it testable.
Completely rewrite the SMPTE time conversions as testing them reveals
that they were incorrect in some cases.
Originally committed to SVN as r6631.