Devoncarew chromebook fixes

Various fixes for issues found when dogfooding on a chromebook:

- NPE when shutting down if the embedded server couldn't bind to the requested port
- getting the branch name for git is now a synchronous operation. this fixes an issue where file changes would cause the branch labels to flash in the files view
- changed to bootstrap icons instead of font-awsome. this fixes regressions in the run button, the settings dialog, and the branch labels
- fixed an issue where you couldn't alt-open a new tab on a chromebook
- pegged the shadow_dom package to a precise version - we're applying a patch file against some code in it
- made the menu separator in the spark menu a bit lighter