Dependency inject reader into Input;

Typically, Vedeu::Terminal will be the reader that is injected, but this change provides the ability to substitute it later or for tests.