We need a surface to draw on to. There will need to be multiple surface implementations such as win32, mac, linux, image, pdf, etc.
gfxASurface.h
gfxImageSurface.h