Audio replay

This pull request implements nSetMediaTime to allow rewinding audio to the beginning after it reaches the end. So that we could play an audio more than once.

It also fix a bug regarding END_OF_MEDIA event.
When the audio reaches the end and sends END_OF_MEDIA event, BasicPlayer should change the player state from STARTED to PREFECHED and mark the player as stopped. But bug #502 makes BasicPlayer's Event handling thread fail to check the  END_OF_MEDIA event and BasicPlayer couldn't set correct state as stopped. I patched BasicPlayer temporarily to fix this bug.
OK, let's use the way without thread sleep.