KMP - String Matching O(N) + Failure Function