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.

 
Presumably these dicts should be declared outside the function, so they aren't reinstantiated for every shortcut lookup.