Ui for sbt-server

### Sub tasks

- Stream api ✔
- layout and widgets ✔
    - plugin layout
    - header
    - navigation and status shortcuts
    - panels
- home
- adapt tutorials
- build/compile
- code/editor
- run/inspect
    - full logs
    - actors
    - requests
    - deviations
- test
- monitor

Each bullet point should be a PR
does this mean onFail would be called twice, both for the clone and the original? I'm not sure what's "expected" here.