Finish scroll event sync in nucleus editor.

In case of nuclues, we set ace events instead of window events.

For setting events on ace editor, we use APIs provided by
NucleusEditor (they are kinda over-engineered right now and need an
obvious/quick refactor) because events on ace are undone when document
changes. NucleusEditor handles those changes and re-assign events when required.
Added methods to remove scroll events on teardown.

Little missing feature that should've been in previous commit; but small
frequent commits are good right!