anim: no need to check fc_buf or max_tick on _start
anim: engine_move: do not draw absent buffers
anim: move engines to animation_engines.c
dc_buffer: check malloced dc->pixel in creation

If the malloced dc->pixel is NULL, return NULL.
animation: add fade engine
blit: Blit565to565PixelAlpha: cope with alpha 255

Alpha is uint8 thus 0~255. Dividing it with 8 result in 0~31. So we
could not get the full src channel even if when alpha is 255. Add a
special case to handle that.
blit: optimize Blit565to565PixelAlpha