Add notion of action that differs from  shortcuts.

This decouple the notion of shortcut from the notion of executed "action"
This allow the shortcuts manager to be purely describe as data, and the
same action to be later refered to either from the shortcut, from a toolbar
button or a menu.

This also implement a more complete keyboard shortcut handler which is
able ton interpete sequences like `Cmd-X,Meta-v` By storing the
shortcuts in a tree.
remove debug
add test warning shadow
Tooltip on toggle button
Make favicon and logo images blocks in the template
Add JS config API
Fix punctuation
Use promising_ajax in config API
Actually define the module

I didn't forget something really obvious and important. Not at all.
Fix #6385
Fix some other bugs
initial take on promises
Initial stab at adding promises to the widget framework.
Fix view rendering order.
Add Promise support to models.
Use load_class in comms instead of callbacks.
Proxy console.error calls
Simplify code by using Promises in a better way; try_load -> load
More simplifications due to promises
Add some error handling for creating views and models