Support storing visible columns and positions in the user preferences.
This should be off by default and only active if a Preferences object is provided by the main application. The reason is that a user could potentially run multiple applications on their computer that all use the log viewer - and the preferences should be application-specific.