[deflate] Fix literal data length calculation

Fix incorrect calculation used to determine length of data to be
copied within a literal data block, and add a test case to prevent
this bug from going undetected in future.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[libc] Add abs()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[uaccess] Add memcmp_user()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[test] Rewrite pnm_ok() using okx()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[test] Generalise pnm_ok() to pixbuf_ok()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[png] Add support for PNG images

Signed-off-by: Michael Brown <mcb30@ipxe.org>