Remove one circular dependency between ScriptingPanel and ScriptingEditor

This aims at making ScriptingPanel as independant as possible, to avoid
NullPointerException errors when it is used outside an editor
Remove one dependancy of the ScriptinPanel on the editor with a Listener
(ScriptingPanel) Replace the CaretListener with a DocumentListener

This will dramatically reduce the number of events, which is good since
currently updateTitle() does a full string comparison
(ScriptingPanel) Move the title update to the ScriptingEditor with a listener

This removes one more dependency of the panel on the editor
(ScriptingPanel) Move FileDrop listener to the editor

This removes one more dependency of the ScriptingPanel on its parent editor
(ScriptingPanel) Move one HyperlinkListener to the editor

This removes one more dependency of the panel on the editor
(ScriptingPanel) Factor the scriptHandler output setting

Also prevent a possible NullPointerException in the Python case!
(ScriptingPanel) Move the language selection of the console to the editor

This removes one more dependency of the ScriptingPanel on the editor...
(ScriptingPanel) Use the boolean 'integrated' instead of a null-check on editor

This removes one more dependency of the ScriptingPanel on the editor
(ScriptingPanel) Replace the reference on the editor by one on the consoleOutput

Now the panel is completely independent of the editor, does not require null-checks !
(ScriptingEditor) Also change the console when selecting a tab
(ScriptingPanel) Move PanelOptions to its own file

This is justified since the PanelOptions is not needed when the ScriptingPanel
is used for a Block, so we aim at making them independent.
(ScriptingHandler) Fix the stop when reusing the old engine.
Fix indentation and remove unused imports, methods and fields.
(JSScriptingHandler) Fix a infinite loop for certain types of errors

The bug was lying in line number issues. JTextArea counts from 0,
but the GUI counts from 1. To make the error messages meaningful,
we need to tell Rhino to count from 1 too, but then we must be super-careful
when using these numbers against JTextArea methods.
(PyScriptEngine) Re-throw the exceptions so that Syntax errors can be displayed in the editor
(JSScriptingHandler) Really fix the freeze when parsing scripts with errors

To do that, properly use Rhino error reporting system
(ScriptingHandler) Handle multiple errors on one single line
(JSScriptingHandlerRhino) Remove the recursivity in processerrors

The recursivity is not needed anymore now that we handle errors with
the error reporter.
Removing the recursive call to interpret avoids completely the possibility of an infinite loop...
(ScriptingHandler) Cleanup exception handling

Previously all Exceptions were caught. Now we specialize more cleanly
on ScriptExceptions, by converting to them when needed.

This prevents plugin-wide errors from being caught instead of being reported.