FFMPEG Plugin: Implement flushing audio frames from decoder.

- Audio frames still contained in the video decoder are now flushed when there
  are no encoded data chunks left (signaled by B_LAST_BUFFER_ERROR). Should
  work in theory, I still need to get  mp3_decoder_test to run to really test
  it.

- Refactor code to support flushing -and- keep the readability at a sane level.

- Add documentation for new methods accordingly.