bug 1018707 - Waffle CustomCSS so that we can remove it from production
bug 1018707 - add test for enable_customcss waffle
Fix bug 1069108 - If GA is loaded but blocked, ensure users get to external links
Fix Bug 1063608 - Small screen login icons

Prevent icons from displaying on smaller screens so there is no confusion over what clicking/taping on them will do.
fix bug 1058143 - Make dropdown menus more user-friendly on mobile
Merge pull request #2748 from stephaniehobson/BUG-1063608-small-screen-login-icons

Fix Bug 1063608 - Small screen login icons
Merge pull request #2754 from darkwing/analytics-blocker-1069108

Fix bug 1069108 - If GA is loaded but blocked, ensure users get to external links
Merge pull request #2753 from darkwing/1058143-mobile-menu

fix bug 1058143 - Make dropdown menus more user-friendly on mobile
Fix bug 986162: Do not allow '@' in new usernames.

This adds the validation to clean_username() on our custom allauth
adapter, ahead of allauth's own default validation (which would allow
the '@'). That validation does two checks:

1. A simple check for the '@' character which, if found, raises a
   custom error message explaining that an email address cannot be
   used as a username.

2. A tweaked version of allauth's own regex-based check, but with a
   regex that does not include '@' and displays an error message which
   does not suggest '@' as a legal character when the username does
   not match.

Testing of this is very light, checking only that clean_username()
does the correct thing and raises errors with the correct
messages. Full integration testing is not currently possible, but
should be added as soon as it becomes possible.
Merge pull request #2756 from ubernostrum/username-characters-986162

Fix bug 986162: Do not allow '@' in new usernames.
Fix Bug 1069432 - Padding between syntax box and following h3 too small

Integrated styles for syntax from customCSS into the main files.
- Moved styles into individual 'component' files after talking to @darkwing and @openjck.
- Extracted colours into variables (made rgba values into hex to avoid contrast problems on dark background colours)
- Removed competing and redundant rules (do we really need to declare margin-top:0 specifically if there is no margin-top on the element?)

You will need to run compress assets to properly test this!

Some test pages:
https://developer.mozilla.org/en-US/docs/Web/API/Blob.Blob
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Syntax
https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer
Merge pull request #2755 from stephaniehobson/BUG-1018707-empty-customcss

Fix Bug 1069432 - Padding between syntax box and following h3 too small
Merge pull request #2752 from groovecoder/waffle-customcss-1018707

bug 1018707 - Waffle CustomCSS so that we can remove it from production
Fix bug 1071174: Use "username" consistently
Merge pull request #2760 from openjck/1071174-username-term-consistency

Fix bug 1071174: Use "username" consistently
Bug #1070001 - Re-organize stylus

- Switched from @import to @require.
- Files should now require the files they need rather than relying on an @import in a different file.
- Files in /include should not generate output.
- Tried to break files in main into sensible smaller pieces.