Cleanup GUI refresh loop

Moved most drawing stuff to the GLFrame to prepare for independent
rendering.
Tab order of ranges less insane