It seems to be buggy? There were 9 JavaScript errors in the process of typing, "How do I compare thee to a summer's day?" (I know that's not the original text of the sonnet.)
Yeah, only listing the top 10 chars to write next results in a few misses. Its also bit of a pain to test a recursive function that uses random numbers.
I can understand that, but in a web app like yours which is meant to be very responsive, I think you would be better served by handling misses rather than letting errors throw away the stack (so to speak) every time a miss happens.