Major re-org of the decoder life cycle management stuff, now InputRunners are
handed a DecoderSource (underlying type *decoderManager) when they're created,
the decoderManager handles creating and tracking the decoders for that input.