Draft: inputMethod: Check for surrounding text before enabling that capability
While the text input protocol does not have the concept of optional features, some clients like VTE may lag behind on support for retrieving surrounding text. This is seen as no surrounding text being set by the client, yet we invariably enable the SURROUNDING_TEXT capability, giving some IMs the wrong idea that no text is what there is, thus being free to submit other related requests like deleting surroundings.
Optionally toggle the SURROUNDING_TEXT capability given the existence of surrounding text, so that IMs know what to expect on subpar clients. At a minimum, the surrounding text should be actually the empty string for empty text fields, on clients that do support it.