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