Notebook Actions second part.

On top of #6668 

Start using actions for toolbar, and other stuff.

In particular, toolbar can be "just" described as a `[list of groups]`. and each group is a `[list of action name]`.
technically a group is either a list of action name or a specific value for something that cannot be done as an action (typically dropdown to select cell type), but that's only for private use. 

Also in this PR:
  - Render shortcut nicely on mac with unicode value of Cmd, Esc, Up Down, ... etc. 
  - Do not use dom ('#cell_type') to link things together, so technically you can have many toolbar with many dropdown that allow to select cell type, and everything works.
  - Use relative import in require.

 
Does it make sense to put the custom actions in a `this.actions` namespace, rather than looking them up on `this`? This currently allows any method to be specified and called as an action, even `add_buttons_group`, and it's unclear which methods are actions and which are not.