the non-exact MHCurve conversions shouldn't be super impactful. they're
sanity checks, and there's no path that would allow for the inexactness
to grow (or rather, for the inexactness to grow in a way that an
assertion in this code path could *ever* catch it).
also, introduce a `Time` abstraction and allow for more precisely
simulating just a specific time range.
the Sim-related traits still need updating to better integrate this.
transmission is best for the 20:16 wrap ratio, so far.
it's less than 100% transmission. there seems to be competing effects
between stronger coupling v.s. amplification as i increase the core2
wraps. so far, that's optimized at 16 wraps. i'll bump the wire wraps on
core1, but this will likely require growing the core's radius, first.