Tests the image data contained in the file named by filename, and returns a
string describing the image type. If optional h is provided, the filename
is ignored and h is assumed to contain the byte stream to test.

A list of functions performing the individual tests. Each function takes two
arguments: the byte-stream and an open file-like object. When what() is
called with a byte-stream, the file-like object will be None.

The test function should return a string describing the image type if the test
succeeded, or None if it failed.