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.
:warning: The `autoAssociateBox` has a value only on the Windows platform. Lines 423 and 487 raise an `IllegalArgumentException` if they are not guarded against this.