semantic highlighter: Use a timer to reduce amount of requests being sent
Currently we are sending requests on every typed character and everytime
we change view. This can be really heavy on the server, especially with
large documents. It results in problems such as "incorrect highlighting"
because server isn't in sync with the latest changes in the document.
This change introduces a simple mechanism to fix this: Use a QTimer to
reduce the amount of requests. Every time we type or change the current
KTE::View this timer gets started/restarted and when it times out, it
just refreshes the highlighting.
This means no more highlight-as-you-type, which is both good and bad but
since we can't really control the servers, I think this is better.
Signed-off-by: Waqar Ahmed <waqar.17a@gmail.com>