Implement kernel console input in input device manager

Once the input device manager module is loaded and a keyboard device is
registered it will take over from the early main console input code.
This allows userland to read keyboard input from the kconsole device.
Note that this is kind of a hack job, but at some point all driver code
is going to be burnt down and rewritten. This is just being done so
that I can implement a shell in userland.

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>