minor refactoring/enhancements to mirror(refelection); re-allowed shifting between edit modes by checking for e.shiftKey