Complete overhaul of the code.
I rewrote almost all the code.
The general idea remains intact but how it's implemented under the hood is much more stable now.
It now does less tracking of the regions itself and instead relies more on sublime text to track and update the regions in the iviews.

You can now also update individual iregions without having to redraw the entire view.
See the Progress bar in the example to see how smooth individual items update now.