Add the 'flexContext' option for nicer fuzzy results

* Introduced the 'flexContext' option to the 'searchFuzzyWithContext' method.

The rules are the following: if this flag is set, then after the normal process has finished, if the found match is not exact, then we try to find a better candidate by moving the range around a little bit. (Inside the boundaries defined by the found prefix's start and the found suffix's end.) For now, only exact matches of the pattern are considered, and only if either the prefix or the suffix would still be intact. If we find such a match, then we override the normal search result with the best such candidate.

The result is that in this mode, the results are more robust to changes inside the context.

However, this makes the placement of the prefix and the suffix less certain, so this might have some unwanted side effects in some situations. (That's why this adjustment is optional.)

* Cosmetic fixes