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