flacparse: Improve header validity checks
Allow sample rate, number of channels and bps to change and in that case update the caps accordingly.
Also move (non-fatal) validity checks and storing of the header values outside the actual parsing once we actually know that a valid frame is available.
And also don't warn on the last frame with fixed block size blocking strategy that the block size has changed: the last frame is allowed to be smaller.
Fixes #3281 (closed)