Implement KeyboardDevice.java

A simple, non-sharable read only device that represents a keyboard was
implemented (based heavily on ConsoleDevice.java).