Make the 'circles' theme parameterized

This is so not everyone's site looks like Chicago's did 5 years ago.

Uses SVG to render the round links at the top of the page.  SVG is not
supported in IE 8 and older, so those users get rectangles instead of
circles (ugly, but still functional).
Make ThemeController.compile_css() work on Windows

All it needed was a different path separator.  This adds 3 lines of code
and should have no effect on other systems.
Circles theme: allow links to be displayed without circles

This uses LESS guarded mixins to decide whether the text is masking out
portions of a circle, or displayed in lieu of the circle.
Add filename display to compile_css error message
Add full LESS command to compile_css error display for debugging
Use existing LESS variables in circles theme

There were some redundant variables in the variables.less file for the
circles theme.  Use the already existing variables (which show up in the
"Sidebar" and "Navbar" sections of the theme editor) where possible.
This reduces the number of "Advanced" variables for this theme, and
hopefully also reduces confusion.
Harmonize administrative links provided in each theme
Make theme editor URLs work with or without slashes
Add theme Node.js and LESS install instructions to docs.txt
Replaces admin_hidden class with hidden
Merge branch 'main' into circles-theme-tweaks

Conflicts:
	esp/esp/themes/theme_data/floaty/templates/main.html
	esp/esp/themes/urls.py
	esp/templates/sidebar/admin.html
Merge pull request #878 from learning-unlimited/circles-theme-tweaks

Circles theme tweaks