Work on diagonal selections
Support diagonal selections when setting cell values
Improve selections by allowing the cursor to move beyond the cells