virtio-vring: prevent delaying a kick() for more than half of a u16 range

(u16)_avail_added_since_kick wrap-around should be avoided since we may loose
an _avail_event update and thus miss the point where the HV should have
been woken (kicked).

We choose half a u16 range as a threshold since kick() is usually called for a
bulk of buffers and not for every separate buffer. Number of buffers in such a bulk is
limited by a size of a virtio ring. The virtio ring size is unlikely to have 32K
entries in the nearest future (it has 256 entries now) thus kicking() at least
every 32K buffers will ensure that we prevent the mentioned above wrap-around
as a result of such a bulking.

Reviewed-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>