Improve ColumnSortDialog in various ways
This introduces a new custom SortFilterProxy for ColumnSortDialog that sorts columns into two groups, enabled and disabled. Enabled can be sorted manually, while disabled is sorted alphabetically. It also adds support for filtering.
This also updates the ColumnSortDialog to make use of this information, so now columns are displayed in two sections, there's support for filtering and only the enabled columns can be rearranged. It also makes the dialog a proper window.
