Add external clock support
check AVDecoder.isAvailable() when running a decoder thread and decode()

if false, the decoder thread should not run, and decode() no nothing
always block the queue if only on queue(decoder/thread) is available
support streams without audio stream by the ExternalClock

FIXME: the clock will keep ExternalClock type even if play a new stream
with audio stream
BUG:
1. can not seek backward.
2. frames in the end can not be played correctly
bug fixed: playNextFrame() not work

continue will never decode the next packet