New Workflow tab

1. The Component Tree pane has been replaced with a JSTree display of the workflow.
2. A component can now be added to a workflow by dragging it from the dataflow figure and dropping it on the new workflow tree.
3. The properties pane now displays information for any component that is clicked on in the dataflow figure.
4. workflow.add has a new argument "check". If this is set to True, then the text string is checked for the following problems:
 - adding a driver to its own workflow
 - component does not exist
 - adding a component to a workflow that is out of its scope
 - driver recursion loop

Bug fixes:
1. When a driver is replaced, the workflow's _parent pointer now correctly points to the new target.