Autoscroll cursor when attempting to move it, even if it doesn't move

Fixes #2723

The model-level autoscroll should always have sat next to the place we emit the 'autoscrolled' event. We should autoscroll even if the cursor doesn't actually move, for example when trying to move down at the end of the file.