Extract GameThread and SurfaceHolder.Callback into GameView