Fixes#6299.
Moved some of the init to test.js from packages.js. If not on localhost,
then the UI for upload is disabled -- note that backend for upload is
already disabled for non-localhost.
This is necessary to prevent non-local site users uploading arbitrary
files to the cache, which could lead to security bypass.
Fixes#6297.
Five issues fixed from #6297. Note that the fix for point 5
(`font-family` should be keyboard-specific, and it is not being used
per-keyboard in the keyboard registration yet) opts to use a cleaned
identifier for the font filename, but not one that is keyboard-specific,
at this time.
Not worth splitting all this polish into separate commits, I think...
1. Add frames for other device types
2. Reorganise menus including burger menu
3. Highlight button after upload to show where file is accessible
4. Fix cropped device frame images, scrolling
5. Improve device menu
6. Add Keyman Developer logo and watermark
7. Add status box with current keyboard, model and device
8. Cleanup z-indexing
9. Add About dialog
10. Add Help links
11. Report version in About dialog, title on logo hover
12. Ensure keyboard reloads after change
13. Support loading models over https
1. Renamed form UfrmNGrokOptions to UfrmServerOptions
2. Renamed kmdev-server to just plain server
3. Tidied up npm versioning to use VERSION_WITH_TAG
This last point should help avoid confusion as now only CI release
builds will ever generate a package.json with a.b.c, a.b.c-alpha or
a.b.c-beta. Local and test builds will always have the corresponding
-test or -local environment appended. This also helps avoid issues if
we accidentally publish an incorrect version.