Implement gutter clicking and dragging to change selection on react editor

Handles:

* clicking on gutter row
* shift clicking on gutter row
* dragging on gutter row
* shift dragging on gutter row

Fixes #2636