fix(ChangeDetector): fix issues with handling empty ranges

It turns out that getters are way slower (~100x) on ff & safari anyway - http://jsperf.com/vicb-getter-vs-function, http://jsperf.com/vicb-getter-field