Implement GroupLayout in PreferencesFrame

Fixes issue #67.

I have implemented GroupLayout in the PreferencesFrame class. All the code for manual placement was removed and placement of the various JComponents is now handled automatically. See line 426+ for a description of the chosen layout scheme.