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.
Ah, thanks for the pointer. Adding a null-check around the setBorder() method is easy, but what would be the best way to handle this in the vertical/horizontal layout construction? Replacing it with an empty elements is an option I suppose, but I think there may be better solutions. Let me know if you have any suggestions, will look into it as well...