Only showSelection if checkSequences actually matched something

The unconditional showSelection in ve.ce.Surface checkSequences was breaking
most IMEs, because it removes the existing selection, which closes the
candidate window.

We are still calling checkSequences at a time when we are not certain it is
IME-safe to make changes, but in practice this is probably less dangerous,
because for most common IMEs there will be no candidate when one of the
currently recognized sequences matches.

Applying the model selection under setTimeout can conflict with IMEs that
cause multiple events in a single tick. This does happen in practice, e.g.
typing ASCII from within Korean IME, but it is an edge case and the fix is
more complex. We should investigate whether ve.EventSequencer afterLoopOne can
make this safer.

Change-Id: Id89e84b5deb818ff4f978ac13e75cf70880df7f0
(cherry picked from commit 02d3a2762a78f0e4541742b73f3f51f737283600)
Merge "Only showSelection if checkSequences actually matched something" into wmf/1.25wmf10