Various changes, but mostly to Selection with box and zoom to extents

Here is a description of what I did:
-Improved zoom to extents to incorporate the topic labels
-Added maximum scaling level to zoom to extents
-Fixed zoom to extents bug when there is only one topic
-Created zoom to selection box feature (Shift + Left mouse box)
-Added keyboard shortcuts:
   CTRL+E = Zoom to extents
   CTRL+A = Select all Topics
-Made selecting nodes more like a typical file explorer system where:
   Holding CTRL + Clicking or Box selecting = toggles the state of each selection
   Holding Shift + Clicking or Box selecting = appends selection to current selection