- Added error checking to the header reading functions
- Removed unnecessary memory allocations and fixed memory leaks in wavheader.c
- Separated the chunk headers from the rest of the header data
  NOTE: The format header currently does not respect the layout defined in the original spec
- Skip chunks that might appear before the DATA chunk. The previous version did not do this, which could cause it to crash.
- wavsilence might not work with all compilers, because some might not pack the structures correctly because of no #pragma pack support. Compilers that support this directive include GCC and MSVC.