Use the compat mechanism for the Unicode normalization of typed text.

The clean-up requested in a [comment](https://github.com/ankidroid/Anki-Android/commit/1fbdcbbf30ea73d8e40cfd26c95a499ddb96ab93#commitcomment-6364292).

Apart from cleaning up the AbstractFlashardViewer, this also cleans up the compat classes:
* Since CompatV7.java is now the base, the methods/functions there don’t `@Override` anything any more.
* Changed the name of `normalizeUnicode`. There are two types of Unicode normalization that we use.
* Added explanations for those normalization.
* Also updated the explanations in Compat.java.