Adding text area in the column headers is not supported as far as I know.
You can create a horizontal listView component with the columns of the table instead, and display that above the table, instead of the header.
Regarding the dynamic table columns and rows, this should be doable, you simply need to use the parameters to generate an array that your table will use as data. You can do this with a js transformer.