Refactor into classes and use of KeyworkJS
Merge branch 'keyboard'