Fix update loop

Only reset the `changingModel` flag after the `moveend` event has fired. This event should fire for both `map.setView()` and `map.locate()`. Before this change, the `changeModel` flag would not be reset for a `map.locate()` call and in other cases. It also appears that the `moveend` event fires async which means that `changeModel` was reset to `false` before the `moveend` event actually fired.