add page-up and page-down functionality to the autocomplete dropdown
test: changing text of cell resets rendered status
changing the text should reset rendered flag
deleting a comm now unregisters the comm. unrehistering the comm does not close it anymore
decoupling the comm lifetime from the widget lifetime
allow splitting and merging of heading cells

I consider it a bug that you couldn't merge with heading cells, and that
you couldn't split them, either. (So much so that I thought it was a bug
in ipython-vimception when I ran into it).

This change removes that limitation, so heading cells are on par with
the other cells in terms of the kinds of manipulations one can carry out
with them.
Remove $el_to_style from the widget javascript code; '' now defaults to this.$el

This seems to make it easiest to select the top-level element.  An alternative is to use special syntax for top-level elements, like in https://github.com/ipython/ipython/pull/6185

This will be followed up by other fixes that let the user set specific common properties of different elements.

This change also adds the .addBack() call, which means that nonempty selectors now apply to this.$el and its descendants, rather than just the descendants of this.$el.
a few todo
Transfer of border-box-sizing from js to css

`border-box-sizing` is pure styling, it has nothing to do in Javascript
it should be put in css to be overwritable.
move border-box-sizing from js to css

nothing to do in js, pure styling.
movestyling from js to css
remove js styling, already done in css + deprecate warning
move styling from js to css
remove js styling, already done in css in logoutmain
movestyling from js to css + deprecation warnign
move styling from js to css
move styling from js to css
remove uselessrandom id, and move styling to css
more cleanup
command_mode_icon typos  (dash instead of underscore)