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#4977)
Before custom sources were assumed tms, now we detect wms
and guess 'EPSG:3857' projection
This commit also delays selecting the custom source in background_list.js,
because creating the background sources is promisified now might not happen
until after the UI control is created