Fixing the global leak in Keyboard.
This adds a new global cache that different parts of the application can
use if they want to stash things on the global object. This should be
done rarely, as it's now excluded from the mocha leak check.