Draft: Column configuration
Adds the ability to configure columns, column ordering, and column sizes in list view.
This adds a new "Columns" tab to the preferences dialog that allows columns to be added and reordered.
It also adds two new CLI options: --col and --col-size. These allow comma-separated lists of column ids and pixel-widths to be passed to catfish. (The column ids can be found in the preferences dialog). Both are forgiving of invalid input and will simply ignore invalid column names or widths. Passing -1 to a column width or leaving it blank (including a shorter list for --col-size than --col) will cause those columns to be rendered at the default width.
I did not enable configuration of column widths in the GUI yet as I am still experimenting with how best to lay it out in the preferences dialog and how to interact with the CLI option. I'll submit that in a separate MR when I have that finished.
Fixes #132.