Allow column resizing and fix a lot of small problems. closes #40, #47, #35

It was a *lot* of work due to the way our JTable is customised (e.g. no JTableHeader),
due to weird bugs and weird behavior from Swing. Storing the column width was not easy either.
But alas, it seems everything works fine now.