made update_range correct again, left fast_update_range in plot.coffee with notes on why it is faster and where it breaks
 better behaving update_range, fast too