Create CharSourceWithSink

Required while Sink<?> is still there. Makes for easier backwards compatible
changes as well.