Efficient Javascript implementation of Levenshtein algorithm with asynchronous callback support