Removed some commented-out code from GoalViewer

This code implemented a fragment of a renderer, and GoalRenderers are now
responsible for doing that
Introduced a new trait for CoqTopContainers built on top of ITextEditors

This will allow even more code to be shared between CoqEditor and
JavaEditorState
Made both Editor and JavaEditorState inherit from CoqTopEditorContainer

The Editor trait could probably be removed now -- there's no reason to use
it instead of CoqEditor
Removed the Editor trait

CoqEditor was the only implementor of this trait, so its former users now
just use CoqEditor directly
Added another variant of JavaStepForwardHandler.collectProofScript

This new variant allows the selection region to be precisely specified
Fixed automatic retraction in Java proof scripts

Modifications to actual Java code don't yet rebuild the method definition,
though
Added a utility method for adapting IAdaptables to CoqTopContainers
Fixed an incorrect comparison in the GoalViewer.partActivated method

Comparing IWorkbenchParts directly with CoqTopContainers only works for
Coq editors, not Java editors
Update the JavaEditorState.completedMethods field when the AST changes
Deleted the CoqTop object

Its only remaining method has now been reimplemented in the companion
object of the CoqEditorHandler class
Deleted the DocumentMonitor object

The JavaEditorReconcilingStrategy class now provides (almost) all of the
useful functionality once provided by DocumentMonitor
Removed the EclipseUtils trait

The colour-related functionality has been reimplemented in UIUtils, and the
position conversion code has been moved into its only user, CoqEditor
EditorHandlers should be disabled, rather than enabled, by default

Until the Kopitiam handlers are registered, the toolbar contributions
remain enabled, which is annoying but apparently unavoidable
Added a "Coq" menu to the workbench

This menu, which duplicates the functionality of the Coq toolbar, is shown
whenever the active editor can adapt to CoqTopContainer
CoqStepForwardRunner should pass coqtop results to the handling methods

Subclasses can now use these results however they see fit -- for example,
to create warning or error markers
Restored error marker support to the Coq editor

This code will only need a few minor modifications to work with the Java
editor. Fixing up the positions will still take a bit more effort
Rationalised the names of the Coq jobs, runners and handlers

The "Coq" prefix now indicates something specific to the Coq editor
Added error marker support to the Java editor

For the time being, this code ignores error regions and just highlights
entire AST nodes
Correctly set the upper end of the range when rebuilding the Java AST

If the complete marker is None, then none of the proof script should be
captured; the old version of the code erroneously captured everything
instead
Made the common marker jobs less error-specific

In particular, CreateErrorMarkerJob is now just a thin wrapper around the
new CreateMarkerJob class