Topo2: Refactored NavigateToRegion events

There was duplicated logic in Topo2Breadcrumb|SubRegion|PeerRegion. This has been refactored out so
all the logic for navigating to a new region is handled in a single place (Topo2RegionNavigationService).

Topo2RegionNavigationService is a pub/sub class. There are two reasons for this choice;
1. Topo2Layout needs to create the new force layout simulation for the region that is about to enter.   Then it creates a transition between the old and new.
2. This will allow application developers to hook into the region:navigation event incase they need
   to update the topology for the new region displayed.

Change-Id: Ie8dad531b50afe2e4735086395c1285fb982122e
diff --git a/web/gui/src/main/webapp/index.html b/web/gui/src/main/webapp/index.html
index d778f39..7ca688d 100644
--- a/web/gui/src/main/webapp/index.html
+++ b/web/gui/src/main/webapp/index.html
@@ -158,6 +158,7 @@
     <script src="app/view/topo2/topo2PeerRegion.js"></script>
     <script src="app/view/topo2/topo2Prefs.js"></script>
     <script src="app/view/topo2/topo2Region.js"></script>
+    <script src="app/view/topo2/topo2RegionNavigation.js"></script>
     <script src="app/view/topo2/topo2Select.js"></script>
     <script src="app/view/topo2/topo2SpriteLayer.js"></script>
     <script src="app/view/topo2/topo2SummaryPanel.js"></script>