Add input and output along with needed device rework
These patch has been spun of the rather massive amount of work for adding input devices into Monado. The interfaces feels somewhat stable now so could do with another pair of eyes on them. Work has progressed and the interfaces has been shown to be working.
It's based on !55 (merged), so either first merge that MR or merge only this.
Any comments are welcome.