input: Add a new input framework.

This will hold the input integration to have different kind of inputs
while still having a simple way to read them.

Signed-off-by: Guillaume Clement <gclement@baobob.org>
desco: Use the new input loop

This will allow to have a more modular code and plug new input devices
easily.

Signed-off-by: Guillaume Clement <gclement@baobob.org>