Improve settings system; fix bugs

Change approach to loading/saving/storing settings. Change corresponding
classes.

Improve BSettingsDialog and BAbstractSettingsTab system.

Fix BLocaleComboBox to set locale correctly.

Add convenience methods to BCodeEditor for setting font.