use double buffer for intermediate pen drawing
implement pen intermediate drawing using virtual double buffering
fully faithful rendering of immediate pen stroke!
code clean a little bit