Ensure anchor and cursor are outside an image that is selected

The existing logic assumes that a selected frame only ever occupied 1
step. This assumption doesn't hold if the image description elements or
other things inside of it.

TODO
- unit tests for SelectionController