Start adding tests for InputRegistry.
Implement the InputInterface where it is needed.

This interface lets the framework have some certainty that userland
extensions will be compatible.
Implement remaining tests for InputRegistry.
Wire up the existing widgets to the registry.

Preconfigure the registry so other classes have less work to do.
Update tests to clear pre-baked configuration.