abstractview: Split the selection support into its own class.
And add a "compat" class to merge both class APIs into a single
class.
This allows to keep the scope narrow and prevent the selection
code and model code to be mixed.
The large code division refactoring is now complete. Some more
code cleanup will come later.