chore(input): Pull `get_input` and `set_input` into an OO service

Also adds test stubs to be implemented when the global state is removed.

This is basically a more modest version of #7091 to just get the lazy-loading and OO facade without all the fancy refactoring or unrelated Http\Url class.