Remove the idea of create the pixel mask in surface constructor, we will keep a buffer of pixel instead
Don't load settings.dat in engine
Keep a trace of the intermediate software surface (if any) until the next render