image: change (*T).Init()'s return value type to *T.
image: separate every image type to a standalone file
image: reduce NewXXX
image: simplify x.SubImage
image: change code layout
image: add Drawer api
image: fix Drawer api