TODO:
1. Implement shift keypress handler in the Canvas component and get multiselection working.
2. Rework resize functionality in the Selection component to be able to handle rescaling all selected elements based on how much the user resizes, then re-inspect the selection.