Fix decoder running out of tokens

With long noisy silences, the decoder may first prune all silence paths, leaving only phonemes with duration models. Later, MAX_STATE_DURATION removes theses tokens and decoder asserts(false). Happens only in rare cases.

This patch is an ugly fix, keeping at least 10 tokens with long durations alive and flooring the duration_prob so that it is still possible to exit the state through exit transition (otherwise will only self-transition).