Some revise in DrawLines, a new DataStructure for melody, add undo funtion