Added click event listener on Key
Lots of updates
Added support for key elements as object classes
Added another test
New functionality around computing new inputField value after key press
Implmented Keyboard.prototype.remove method
We need to store a cached reference to the function that's created when calling .bind, so we can refer to the same method across the Key constructor.