Functions passed to getFarthestValidCellInDirection can return early
Add move/erase by word (i.e., consecutive non-empty cells)
Slight cleanup in defining arrow key bindings
Changed erase by clue on Mac to command+backspace/delete (instead of option+backspace/delete)
Added option+arrow (move by word) and option+backspace/delete (erase by word) on Mac
Changed home/end on Mac to move to start/end of puzzle
Changed ctrl+backspace/delete on Win to erase by word (instead of by clue)
Changed move by clue on Mac to command+arrow (instead of shift+arrow)
Align things in KeyManager
Note missing bindings
Merge branch 'key-changes' into keys
Merge branch 'keys' into desc-commands
Describe commands for move/erase by word; could use better wording