Dashboard improvement
see #1658#1676
Allow to shutdown the kernels from the dashboard,
autorefresh dashboard,
add a native upload method, especially for https/chrome/linux that prevent drag and drop
Resizing to small collapse the pager keeping the size to at least 20%
height
(trying to) resize a collapsed pager to more than 10% "expand" it.
Pager can remember it size when toggling by clicking.
rename plaintext cell -> raw cell
Raw cells should be *untransformed* when writing various output formats, as the point of them is to let users pass through IPython to their rendered document format (rst, latex, etc.). This is different from what is the logical meaning of 'plaintext', which would suggest that the contents should be preserved as unformatted plaintext (e.g. in a `<pre>` tag, or literal block).
In the UI, these cells will be displayed as 'Raw Text'.
WARNING: any existing v3 notebooks which use plaintext cells, when read in by versions after this merge, will silently rename those cells to 'raw'. But if such a notebook is uploaded into a pre-merge IPython, cells labeled as 'raw' will simply *not be displayed*.
This reduces flicker during common loops like:
for step in stuff:
clear_output()
print something
the timeout is flushed *immediately* on any subsequent output.
* Created new base page html/css/js.
* Everything inherits from the page template.
* Universal header border.
* Notebook list borders are set to 1px all around.
* No border around notebook area.
* Border cleanup of toolbar/menubar.
* Lots of code reorg to get ready for further refactoring.
1. Users are warned when an older nbformat notebook is converted.
2. The notebook notifies the user when a notebook that is too new
is attempted to load.
To test these things, create a simple notebook. Then change its
nbformat field by hand to 2 (to test 1) and then 4 (to test 2).