client: Queue events while the IBus context isn't ready

There are actually 3 patches here.

---
client: Queue events while the IBus context isn't ready

We may lose events that ought to be processed while the IBus context
isn't ready or if the connection to IBus isn't fully established yet.

To avoid that, enqueue events to be processed later when the IBus
context creation finishes.

---
client: Don't cancel an ongoing create input context on another request

This would only add more delays.

---
client: Cancel any ongoing create input context request on finalize

BUG=

Review URL: https://codereview.appspot.com/6988047
Patch from Rui Matos <tiagomatos@gmail.com>.