* remove ace editor scripts from vendor bundle
* bootstrap ace editor
* defer initialization of Monaco and ACE editors until they are loaded
* add fallback "basic" code editor
* fallback to basic code editor if preferred editor fails to initialize
* load Monaco & lang pack dynamically
* fix: textarea outer element should be let not const
* basic text editor styling
* fix: remove incorrectly placed !important inside the var
* get rid of IE check
* guard against bad lib setting
* fix save/restore state of basic editor
* ensure we add markdown toolbar
* Ensure we use the dom element for scroll to line method
* Update code editor selection in default settings.js
* Update link to Monaco editor options in settings.js
* lint fix
```
editorTheme: {
page: {
tabicon: {
icon: "full/path/of/tabicon.svg",
colour: "#008f00"
}
}
```
The old way still works also (but doesn't allow the tabicon to
be coloured:
```
editorTheme: {
page: {
tabicon: "full/path/of/tabicon.svg"
}
}
```
- refactors createEditor out to own code files
- moves ace editor to own code file
- adds monaco editor to own code file
- add monaco bootstrap
- update mst to include monaco asset
- update grunt to include new files and integrate