Fix TextView.selection_changed so that it only invalidates
what is necessary.

Check invalidation system and revamp if necessary to support
regions.
