Add dual mode JS tests

This PR adds much needed tests for the new notebook dual mode.  

## sequence
Right now this tests the following sequence of events:
- Create a notebook with one cell
- Add and execute three cells
- Press keyboard esc
- Press keyboard down
- Press keyboard enter
- Press keyboard j
- Press keyboard esc
- Press keyboard j
- Click on cell index 0
- Click on cell index 3
- Press keyboard esc
- Open keyboard help
- Press keyboard k
- Close keyboard help
- Press keyboard k
- Click on cell index 0
- Focus the notebook div
- Click on cell index 0
- Focus the notebook div
- Click on cell index 3
- Press keyboard shift+enter
- Click on cell index 3
- Press keyboard shift+enter
- Click on cell index 3
- Press keyboard alt+enter
- Press keyboard ctrl+enter

## how it works
After each action, the states of the notebook cells, code mirror instances, notebook, and keyboard manager are all verified as the expected results.