FIX: Fix tests on windows, remove dep for tests

This PR proposes two related things:

1. It makes `requires_img_lib` skip tests on Windows. This is because, for some odd reason, importing PIL breaks tests on windows. Cyrille and I have both experienced it, but I couldn't track down why.

2. It adds an `ext` for pure-python PNG reading/writing. This is useful because it doesn't require PIL or imageio to be installed. In my experience PIL often has bugs, so I'd rather avoid using it if possible. And imageio does not have such widespread use, so we can't rely on people having that, either. This seems like a simple solution for basic PNG support.

Let me know what people think. Ready for review/merge from my end.
`struct.pack` didn't work on Py3k, presumably because the default size for the integer datatype changed (I think). I actually find the `numpy` syntax clearer anyway. The and-ing is due to differences between how `zlib` returns the `crc32` on Python2 vs Python3, although it might not strictly be necessary because we're packing it into bytes anyway.