Implement immutable and mutable pixel iterators.

Implement an image trait to allow generic access to images.
Provide ImageBuf for directly manipulating images.
Provide DynamicImage for images whose pixel type is determined at
runtime.
Improve the Pixel trait
Rearrange library(again)