Pure python PNG writer

Add @lcampagn 's `make_png`. No need to import from another library.
Just `from vispy.util import make_png`
So this can go away now based on `data.shape[2]`. Also add a check to ensure `data` is 3D, that `data.shape[2] is in (3, 4)` and that `data` is of proper dtype.