This adds a new modal operator that allows reordering columns interactively.
It's triggered by dragging the column header. Edge panning while dragging the
column to the left or right of the region is supported. Scrolling with a
horizontal scroll wheel works too.
There are three new UI elements to help the user understand what is happening.
These three elements seem to be fairly standard in other spreadsheet software.
* The column that is dragged is highlighted in its original place.
* A "shadow" of that column stays attached to the cursor.
* A line indicates where the column will be inserted.
Note: The column order is not yet persistent when columns disappear temporarily.
That will be worked on separately.
Pull Request: https://projects.blender.org/blender/blender/pulls/139136