add adaptive algorithm to bench_nreplace

-add horspool substring matching algorithm for large patterns
-add nreplace_thelema_adaptive,
 which will use naive find for small patters/texts,
 and horspool find for large patterns/texts.
(cherry picked from commit bbf211de6a18a2b0006c8e6634f6c98022d7bbc7)

Conflicts:
	benchsuite/bench_string.ml
fix (?) gasche enum version