Add editor tabs
Extract out editor related scripts into editor.js
Merge branch 'master' into struct-editor
Merge branch 'master' into struct-editor
Add JS unit testing env
Merge branch 'js-test'