add gfx_modes and demo loop