Support image selection

Added a SelectType into OpMoveCursor to indicate whether it is a image
selection so we can draw our own selector after the OpMoveCursor is
excuted.

Thought about just draw the selector in the mouseup event, but it has
problem with undo image deletion. As the undo manager wouldn't know if the image
was selected before deleting.

known issue:
the selection box is moving up and down when using browser's zooming
functionality. but it is working fine with the slider zoom