Factor out an abstract GuiDevice from GuiDeviceFLTK.