Add VrapperEventListener interface.
Integrate VrapperEventListeners holder class.

This class manages the listeners and triggers them when an event
happens.
Integrate undo handler to reset caret on undo.

Work for issue #466.
Disble undo caret move with Vrapper toggle or opt

When Vrapper is disabled, the listener shouldn't do anything.

Also add a boolean option 'undomovescursor' which disables the feature,
just in case any Eclipse plugins go haywire. This option is
global/local.

Fixes #466.