Add beginnings of a injected wrappers for the interactions API. This requires
the mouse and keyboard state to be tracked outside of the atoms and injected
with each call. The new device state will be in returned in the response
object's value property.

This has been tested on OS X 10.8.5 against Safari 6.1, Chrome 33,
Firefox 25, and Opera 12.