fix(change_detector): adding new ranges when disabling the current enabled record
refactor(change_detector): moves enableRecord/disableRecord into the Record class
style(Change Detection): rename WatchGroupDispatcher to ChangeDispatcher
style: misc minor changes
perf(Change Detection): Track the range & group on changes only

1.4x speed improvement with Firefox

There is no need to track the range & group for all the records but only
for the records that have changed.
perf(Change Detection): remove the usage of getters/setters

- Firefox is 2.4x faster (90 vs 221ms)
- Chrome is 24% slower (15.5 vs 12.5ms)

Chrome is still 5.8x faster than Firefox