gfx: Paint in parallel in CPU rendering mode

r? @larsbergstrom @mrobinson 
I was thinking in my head that we might want to allocate buffers on the CPU path that can be shared between the CPU and GPU, which would incur a reasonable cost on creation for the dual mapping. However, this doesn't actually work with IOSurface, since IOSurface requires all GPU-side surfaces on Intel graphics to be in a tiled format, and it will convert them from linear on upload.

This probably will be an issue if we use CPU rendering on mobile, but I guess we can worry about that later.