Converted GUI to use Tcltk with gWidgets.  Outcome is not completely satisfactory:

1. TclTk doesn't seem to tolerate S4 OOP classes fed to it
2. The implementation seems incomplete...
Tweaked screen layout of some panels.
Refactoring trait and optimization variable dialogs out of modal dialog boxes and into mainstream notebook tabs.  The task is not complete but want to save this partially functional code... i.e. trait filter code creates the new tab with fields to fill out. The layout needs to be repaired and data saving made functional, but partial proof of concept supporting the refactoring.
Embedded trait filter page partially debugged (is visible... but doesn't seem yet to work correctly).

The OptimizationVariables page (let alone analysis page) are not yet functional.
DialogSelectThresholds() doesn't crash anymore but for some reason, doesn't really give any sensible threshold outputs.  You definitely need to step through the code with a find toothed comb.

The Optimization button also still generates a strange error (and doesn't work at all...). More work for tomorrow(?)
cleaning up the page handler code... but still debugging.
I think that the DialogSelectThresholds() method is closer to working now in that it properly publishes sensible thresholds.
I think that the original code had a bug which prevented proper analysis: the accession identifier column wasn't properly named in a manner that it was visible to the computation.
I'm NOT completely sure, though, that the filtering process is properly applied to the input data. I will still have to single step through the code to see if it is working exactly as expected, to filter out the input values within the user-specified range.
A few utility functions refactored and created.
Renamed data.thresholds to thresholFilteredDataSubset
the optimization variables page is *almost* working as expected, but the final step of the procedure - running the various optimizaition algorithms - doesn't seem to work properly (not sure why...)
More of the application working, but the final optimization / classification runs still experience some difficulties.

I don't have any energy left today to fix this, but I'll make a tentative fresh release (after I merge this with the main trunk)