[INTERNAL] Make adding new Annotations easier

Until now only default annotations were used (annotations that do not
require custom DrawingStrategies, but use the standard Eclipse
strategies).
This patch provides convenience methods for registering custom
DrawingStrategies, e.g. to enable more sophisticated annotations.

In order to add a custom annotation, just subclass "SarosAnnotation",
implement an "IDrawingStrategy", and add them both into
EditorManager.registerCustomAnnotations().
The DrawingStrategy will always be called when the AnnotationPainter is
informed (i.e. whenever the text cursor is changed or a new selection is
made).
Furthermore, CustomAnnotationManager allows to provide a layer number to
ensure that the Annotations are drawn in the correct order.

Additionally, old Annotation instances get only removed if they have the
same class and source (User), instead of just the same source. This way
we are able to keep multiple Annotations per User.

Adapted from SWTP-2013 repository.
 - Commits 76c77f7 and ceb0fe9
 - Reviewed on: http://saros-build.imp.fu-berlin.de/gerrit/892 and
     http://saros-build.imp.fu-berlin.de/gerrit/956
 - Reviewed by: Richard Möhn <richard.moehn@fu-berlin.de>
 - Reviewed by: Conrad Läßig <conrad.laessig@gmail.com>
 
The CustomAnnotationManager was introduced by Stefan Rossbach in this
patch: http://saros-build.imp.fu-berlin.de/gerrit/972

Change-Id: I6dc2890a5bc5d7181e42d6de756c062e9f48e6ff
Reviewed-on: http://saros-build.imp.fu-berlin.de/gerrit/1232
Tested-by: Jenkins CI
Reviewed-by: Stefan Rossbach <srossbach@arcor.de>
Reviewed-by: Franz Zieris <zieris@inf.fu-berlin.de>