Don't load MID if no channels or tracks

Nothing to play if there are either no tracks or channels.
Ensure numpats isn't greater than MAX_PATTERNS

Reported by Axel "0vercl0k" Souchet & Florian "Agix" Gaultier
Ensure flags and ->numbits must match

MMCMP_16BIT has up to 16 flags,
MMCMP_8BIT has up to 8 flags
if none of these are OK, then invalid file.
--Reported by Axel "0vercl0k" Souchet & Florian "Agix" Gaultier
Use strncpy to bound size to output size

m_szNames has 32 bytes (including 0 byte)
--Reported by Axel "0vercl0k" Souchet & Florian "Agix" Gaultier
Ensure iOrd is within DSM's order size

Base maximum orders for DSM on sizeof(psong->orders), not MAX_ORDERS,
DSM's is slightly smaller than libmodplug's.
--Reported by Axel "0vercl0k" Souchet & Florian "Agix" Gaultier
Ensure overflow does not occur for MMCMP samples

Reported by Axel "0vercl0k" Souchet & Florian "Agix" Gaultier
Fix check on lastpattern

Reported by Axel "0vercl0k" Souchet & Florian "Agix" Gaultier
Use correct bounds on strncpy function (32 not 36)

Reported by Axel "0vercl0k" Souchet & Florian "Agix" Gaultier
State purpose of MMCMP file

MMCMP uncompresses samples in PP20 format.