removing unused variables of "modules" and "versions"
cleaned up a little the way settings are handled...

…created a dedicated class for PreferencesAndSettings that will be able
to handle more than just input mode setting. This is in preparation to
manage the high-dpi screens as well, since that’s a range of settings
that is independent from the input mode.