moved some code into app.js

that's how it should have been. oops.
created new message_bus object

for pub/sub
include message_bus
implemented the message bus for key events
created keyboard driver