decoder/dsf: remove unnecessary ID3 offset check

If the offset is out of range, the seek will simply fail.  Not a
problem.
decoder/dsf: check InputStream::KnownSize()
decoder/DsdLib: check InputStream::KnownSize()
decoder/DsdLib: use fixed-length ID3 buffer

Variable-length arrays are not allowed in C++.
decoder/DsdLib: make variables more local
decoder/faad: call GetSize() only when needed
decoder/faad: check InputStream::KnownSize()

Replace the bogus GetSize() check and call GetSize() only when
necessary.
decoder/faad: remove size!=0 check

Since we already checked InputStream::KnownSize(), we can assume that
GetSize() returns a valid value, and this check is obsolete.
decoder/faad: remove unnecessary cast to size_t
decoder/ffmpeg: check InputStream::KnownSize()
decoder/mad: check InputStream::KnownSize()
decoder/modplug: check InputStream::KnownSize()
decoder/mpcdec: check InputStream::KnownSize()
decoder/pcm: check InputStream::KnownSize()
decoder/sndfile: check InputStream::KnownSize()
decoder/wavpack: add local reference variables
input/proxy: use KnownSize()
InputStream: add constant UNKNOWN_SIZE
InputStream: allow GetSize() only if KnownSize()
InputPlugin: remove typedef offset_type

Has been moved to class InputStream long ago.