1.move BackgroundSurface as static

2.delete frontsurface
3.delte Gamecore::SwitchSurface()
4.add lock to PaintSurface and flush function