Bug 1072757 - Implement SettingsCore

This is an enhancement. Let's do it in followup.
Without doing it the only problem is there would be many function living inside |window|.