basic gameloop and backbuffer