big refactoring of app.Router - closes #41

completely changes how modals are instantiated and how the navigation is
done.  basically, the modals no longer need to be aware of navigation -
they just inform the parent view that they are closing, and navigation
happens at a higher level.