[Fix] Correcting Column Selector list when "columnNames" is set after "columns"

- Adding another watcher to watch "columnNames" which is run once
- This is for the situation where "columns" actually gets a value (non-empty array) before "columnNames" does. eg. Situation of restoring Spreadsheet Widget settings with previously saved params.
- If there's a match (based on ids) between columns and columnNames, then this particular column is showing, so the columnName object needs to have its "show" prop set to true which will visually hide it in the select list.