DO NOT MERGE: Implemented new in-canvas view buttons

Note the pan and orbit cursors they are the same for now. Due to the size of this pull request, I'm gonna update the cursor in a subsequent pull request.