Abstract the image buffer operation

  Added `ColorType`, `Color`, `Buffer2d` and `ImageBuffer`.