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).

Strange, it works for me.. The use of "!" forces the size to be fixed (https://docs.python.org/2/library/struct.html#format-characters).  What's the error you were getting? (it's important to get this right because we are not testing on enough platforms)

> The and-ing is due to differences between how zlib returns the crc32 on Python2 vs Python3

I now see the note in the zlib docs; maybe just drop the url in a comment:
https://docs.python.org/3/library/zlib.html#zlib.crc32