Use GIO when reading WavPack tags
Use GIO for reading WavPack headers

Split out the WavpackStreamReader functions to a separate file, so that
they can be shared between the header and tag functions.
Use GIO for writing WavPack tags

Add a new EtWavpackWriteState struct, extended from EtWavpackState, and
use it to store the IOStream during tag writing.
Simplify the shared FLAC reading code

Make EtFlacWriteState extend EtFlacReadState, and use a single callback
function for each of the read, seek, tell and EOF callbacks as a result.