Fix shift click toggle

Closing a node opened with shift click didn't reset the "deep open"
state (or rather, the wrong value was passed down to the children).
Fix tree rerender problems

We should always try to rerender when a node open, since it contents
might have changed somehow.
Accept file and AST input

You can now paste an AST (as JSON) or drag and drop files into the tool.
If you paste an AST or drop a file containing an AST, code will be
generated via escodegen and inserted in to the text editor.
If you drop any other (text) file, its content just replaces the text editor
content;