Fix TextView.selection_changed so that it only invalidates what is necessary. Check invalidation system and revamp if necessary to support regions.