Finally change "range" to a number type in angular.js.

See https://github.com/angular/angular.js/issues/5892 and https://github.com/angular/angular.js/pull/7370
Update highlights using data binding.
Change highlight updates back to manual.

Using angular for this seemed buggy.