Compose, rather than extend, DataInputStream.

As DataInputStream is final, extending it means we can't change
any behaviour. Compose instead.
Ignore a few more unknown types.

These were largely ignored without much inspection. They're present
in an empty file created by the current version.
Abstract out creation of an InputImpl for a stream of bytes.
Try to detect a byte-flipped file and flip accordingly.

If a file starts with 'msdh', rather than 'hdsm', assume we have
a byte-flipped file and modify readInt accordingly.
Test loading of a byte-flipped empty iTunes file.
Try to detect byte-flipped files.
Fix ShowAllArtwork

- Ensure scanning happens
- Include pauses
- Skip unexpectedly missing files