Refactor IMEAndLanguageSettings to use PreferenceController

Bug: 32642706
Bug: 32637613
Bug: 32643833
Test: RunSettingsRoboTests

This change is necessary to test preference controlling logic, as well
as making preferences reusable in other Preference pages in the new
information architecture.

Change-Id: I9e2fd2f6800579f005a5c303ed03ae06477006a6
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index d829dc4..992af92 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -27,11 +27,11 @@
     <!-- Spell checker preference title, summary and fragment will be set programmatically. -->
     <!-- Note: Mark this as persistent="false" to remove unnecessarily saved shared preference.
          See: InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference. -->
-    <PreferenceScreen
-            android:key="spellcheckers_settings"
-            android:title="@string/spellcheckers_settings_title"
-            android:persistent="false"
-            />
+    <Preference
+        android:key="spellcheckers_settings"
+        android:title="@string/spellcheckers_settings_title"
+        android:fragment="com.android.settings.inputmethod.SpellCheckersSettings"
+        android:persistent="false"/>
 
     <!-- User dictionary preference title and fragment will be set programmatically. -->
     <PreferenceScreen