add custom column sorting function to column options

This change adds a new column option 'sorter' that can be used to provide a custom sort function that's used instead of the default when sorting the by that column.

A use case is when a column is an enum style value and the logical sort order of that enum is different from the lexicographical order of the values.

The sort function takes a sortOrder and returns a comparison function that takes two arrays of (row index, cell value) and returns an int (same as the sort function used internally by HandsontableColumnSorting).