* something like this
* need these
* rest
* another pr
* what is this merge conflict
f
* fix mouse down
* rm that!
* fix that
* rearrange
* fix bug where mouse held down on widget, dragged off, then let go
* temp
* fix that
* missing init
* add experimental mode toggle button with visual indicator
* merge master
* implement a temporary state hold after mouse click"
* move to seperate class
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* add new main UI entry point
* cleanup
* mv to selfdrive/ui
* fix imports
* handle_mouse_click
* use ui_state
* remove ui_state from gui_app
* setup callbacks
* handle clicks
* put layouts in a dict
* update state in render
* rebase master
* implement settings sidebar
* rename files