libchdr is a standalone library for reading MAME's CHDv1-v5 formats.

The code is based off of MAME's old C codebase which read up to CHDv4
with OS-dependent features removed, and CHDv5 support backported from
MAME's current C++ codebase.
