Minor comments
New class Target_Cairo_Tile to render using Cairo and tile mode.
Remove unused variables
Use start_frame and end_frame for the Target_Cairo_Tile class instead of the obtain surface and put surface. The pure virtual member add_tile would take care of each rendered tile instead of put surface.
New class WorkAreaTarget_Cairo_Tile to render on work area using Cairo tile render.
Fix compile error from previous commit.
When rendering the frame on drawing area, use the tiled Cairo surfaces on the canvas renderer.