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