Cm4

Update to CodeMirror 4

That mean multiple cursor ! Yeaaah. 

<del>On the dark side, we have to painfully recode ipythongfm and ipython mode (I'll appreciate help) .</del> (Done)

A few things have changed, in particular `event.stop()` does not exist, and I had to comment the `goLineUp` and `goLineDown` in kerboardmanager as returning `true`/`false`seem not to be the way to go anymore to prevent CM from handeling the events ( @ellisonbg your input on that )

<del>Completer does not intercept up/down anymore...</del>

But globally it seem to work. 
Two things here:
- Custom.js should be loaded as the last module
- CodeMirror is only used by Cell and it's derived classes, therefor it should be required in Cell not in main.