CairoCanvas: refactored TranslateBufferByIntfImage->GraphicToARGB32 to be useful in other parts

git-svn-id: http://svn.freepascal.org/svn/lazarus/trunk@40983 4005530d-fff6-0310-9dd1-cebe43e6787f
CairoCanvas: Implemented DrawSurface to draw a cairo surface onto canvas

git-svn-id: http://svn.freepascal.org/svn/lazarus/trunk@40984 4005530d-fff6-0310-9dd1-cebe43e6787f