Only show root if there is nothing else to show

popState can get called on page load without an original state event. In
this case we only want to show the root if there is no slug to show.

This was effecting Safari and iOS browsers.
I think this logic would be clearer if you nested the check for pathState.slug == '' inside the if (!state).  Then you wouldn't need to add the checks for "if(state)" to the subsequent bits.

ie: 

if (!state) {
  if (pathState.slug == '') {
    this.showRoot();
  }
} else if (state.subsection){
.... # unchanged from original after this point.