1. A whole architecture change to filter design pattern.
   Write all small digial image tools as a filter,
   so a complex processing process can be expressed as
   a pipe line. for example,

           ./bmpread a.bmp | ./rgb2gray | ./imshow

   will read a bmp file, and change the rgb values to intensities,
   and show the intensity image.

2. A uniform intensity image structure: intensity_image.h
   It is used for filter communication.

3. Add some new small tools
   1) bmpread.c: read a bmp file
   2) rgb2gray.c: change rgb to intensity(grayscale level)
   3) gray2bi.c: change intensity to binary valued image
   4) spacial_filter.c: arbitrary spacial filter