switch from PIL to Pillow
fixed width/height swap bug
use simpler numpy expressions
allow 2-channel images in show_pseudocolor