The main editor widget and its helper classes.

The main widget is {@link org.python.pydev.editor.PyEdit PyEdit}. It ties other utility classes together, sets error markers.

PyContentAssistant & PyContentAssisProcessors are dummy classes, avaiting implementation.

Design notes

I really want to implement ctrl-click navigation. It is not as easy as pluging in a new class to PyEditConfiguration. This one See JavaEditor::MouseClickListener (set breakpoint at highlightRegion if debugging to see it in action)

To implement navigation/completion.
- Each editor needs a vocabulary. The vocabulary is hierarchical in structure, and
has items:
Top-level (file vocabulary) has:
 classes
 functions
 globals?
Class vocabulary has:
 documentation string
 classes
 methods (functions)
 instance variables (inferred from self.)
Method/function vocabulary has:
 documentation string
 locals
 classes
 functions

Each definition in the vocabulary describes:
- where is it defined (file, char span)
- character range where it is applicable

Vocabulary usage:
Find an innermost vocabulary containing current selection.
Then quiz it for whatever is needed