allow the use of the pure-Python Diff Match Patch or Python's difflib, and fall back automatically