More efficient handling while setting options via the SettingsDialog
Setting dialog handles user added language settings

Very little testing has been done
SettingsDialog can now add+remove custom user defined languages.

Closes #2. This still needs *lots* of testing, I have roughly verified that it works semi-correctly.