Imperative version of the comment scanner.

This code runs on the UI thread on each keystroke
inside comments (including scaladoc). It is already
inefficient by restarting on each character, a fault
inherent to the rule-based scanning provided by the platform.

For example, for `/**foobar TODO*/`, method `evaluate` is
called starting at each character (13 times, once for each
character that won’t form a matching word, and once for TODO, which is
consumed).

Fixed #1002241