message: Called render even if crumbs haven't changed
  The titles might have changed
diff: @@ -6,20 +6,19 @@ var addNavigateHandlers = (stateNavigator: StateNavigator | StateNavigator[]) =>
  var stateNavigators = isStateNavigator(stateNavigator) ? [stateNavigator] : stateNavigator;
  stateNavigators.forEach((stateNavigator, tab) => {
  stateNavigator.onNavigate(() => {
  - var {crumbs, history, oldState, oldUrl} = stateNavigator.stateContext;
  + var {history, oldState} = stateNavigator.stateContext;
  if (!oldState || history)
  return;
  + var {state, data, title, oldData, oldUrl, crumbs, nextCrumb} = stateNavigator.stateContext;
  var {crumbs: oldCrumbs} = stateNavigator.parseLink(oldUrl);
  - if (crumbs.length === oldCrumbs.length)
  - return;
  - var {state, data, title, oldData, nextCrumb} = stateNavigator.stateContext;
  var titles = crumbs.map(({title}) => title).concat(title);
  var appKey = AppRegistry.getAppKeys()[0];
  if (oldCrumbs.length < crumbs.length) {
  var {state: nextState, data: nextData} = crumbs.concat(nextCrumb)[oldCrumbs.length + 1];
  var enterAnim = state.getUnmountStyle && state.getUnmountStyle(true, data, crumbs);
  var exitAnim = oldState.getCrumbStyle && oldState.getCrumbStyle(false, oldData, oldCrumbs, nextState, nextData);
  - } else {
  + }
  + if (crumbs.length < oldCrumbs.length) {
  var nextCrumb = new Crumb(oldData, oldState, null, null, false);
  var {state: nextState, data: nextData} = oldCrumbs.concat(nextCrumb)[crumbs.length + 1];
  var enterAnim = state.getCrumbStyle && state.getCrumbStyle(true, data, crumbs, nextState, nextData);
  