bluetooth: Do not sleep when you have already overslept your tick

The GKI code generates ticks at a default of one tick every 10ms.
Previously, if the system overslept the tick and was late for the
next one, it would sleep for 1/10 of a tick (1ms).  This means that
if you overslept a tick by 50ms you would sleep at least 5 times
before you caught up.  Now, it will avoid sleeping and generate
the missing ticks immediately.

This hugely improves a problem on the HTC DLX where bluetooth
audio will "stutter" fairly frequently during playback.
After instrumenting this code, I could see it missing
ticks quite frequently when the display was turned off.  It was
missing them frequently by more than 30ms.  I assume, but haven't
verifed, that this is due to a sudden additional load on the phone
that is not dealt with quickly enough by the CPU governor
combined with the fact that the screen off is limited to only a
single core.

Change-Id: I4fcb736ebeb683a10fcade5ff33cfccb921f0c47