Use keyboard styling for keys referenced in the walkthrough
Add mouse icons for left/right click referenced in the walkthrough
Add labels for all buttons referenced by icon in the walkthrough
Consolidate localization behavior and init to a coreLocalizer function and singleton
Explicitly support `en-US` locale
Rename coreData to coreFileFetcher and export a singleton rather than using a property of coreContext
Add `apiConnections` property of coreContext to simplify adding a source switcher
Replace some init functions with re-callable, promise-supporting `ensureLoaded` functions
Make coreContext itself load the UI if a container has been specified at init time
Fix code tests
(closes#3455)
Also fixed a minor bug in `iD.uiCmd` that was causing keyboard shortcuts
like '⌘⌫' to convert to 'Ctrl+Backspace+' (note extra trailing '+')
It affected only the tooltip display, not the key event binding.
* convert iD.Detect() iife to a module
* iD.Detect() should return loaded locale (except for 'en')
(The previous code was a hack to replace the detected locale with the loaded
locale. Now that Detect is a module, we can not replace the detected locale
from external code, but we can have Detect() return the locale we really want)