Pass null to JFontChooser when showing dialog
Use dispose() instead of setVisible(false) in ColorSelector class
Return a list of all keyboard layouts instead of a comma-separated list

The name of the method is also changed to a more intuitive name.
Add feature to change keyboard layout

However, updating the database is not working. Thus, preferences are reset
after closing and reopening the program.
Fix issue where keyboard layout String is unintetionally modified

This happens when cancel is pressed when changing the keyboard layout. This
issue is solved by using the split() method of String class.
ArrayIndexOutOfBoundsException is not expected because QWERTY is always an
entry. However, caution needs to be taken when implementing a feature to allow
removal of keyboard layouts.
Update database after changing the font

However, the update() method is not working, so the change is currently not
saved.