inputd: Major refactorings to the inputd interface
See the individual commits for explanation of what changed and why.
Based on !209 (merged) Part of redox#1428
See the individual commits for explanation of what changed and why.
Based on !209 (merged) Part of redox#1428