Handles delayed server responses better

If the server takes a long time to respond, the user may have moved on to a different input. After processing a response (formatting data, caching as necessary) the input's focus is checked. If it's not, execution is halted before calling `show()`.

There are about 50 places this check could actually happen. It could actually be a part of `show()`, instead of where show is invoked, perhaps, but it doesn't feel like the _job_ of a show function.