[MP2] code cleanup
[MP2] Implement video restart support
[MP2] Remove unnecessary assignment to isAudioPlaying
Add base class for RAOP events and implement RAOP SessionId
Check that audioSessionId is the same as previous when restarting audio playback
[MP1] Extra logging when restarting audio stream
Better thread handling

Avoid unnecessary locks and fix potential race condition.
Remove BufferChanged event, add BufferStarted event