Remove Mason license tag from CSS files
Move CSS files into static
Adjust paths from /NoAuth/css/ to /static/css/
Move squished CSS to the same path depth as non-squished CSS files

This prepares the CSS to use relative paths everywhere regardless of
squished vs. not squished.  Relative paths mean we don't need to process
the CSS with Mason.
Consolidate identical copies of the background gradient into one shared copy

The themes never changed the background gradient they all use and only
contain an inner images/ directory for the gradient.  Rather than keep
track of all three files now, just refer to the image in
static/css/images/ with the other shared images.
Remove callbacks from CSS now that it's in static
Convert all absolute paths in CSS to relative paths…

…thus eliminating the use of Mason substitution for WebPath.

Relative paths are taken all the way to the web root and then back down
from static/ so that the paths work when served in squished form at
NoAuth/css/*/.

If the paths only walked up as high as necessary to descend back down,
they'd break as soon as served from somewhere else.  The paths in this
commit let the CSS be served from anywhere of equal depth.
Remove minor localized content from print styles

Replaces "(collapsed)" with "[-]" so that we don't have to localize it
and hence run CSS through Mason.  This is a reasonable trade off for
serving all CSS statically.

All of the CSS should now be Mason-free.
Reduce duplication in the mobile login element

The standard mobile wrapper already provides the mobile styles and can
provide a standard header for us by passing "title".  Remove the
unnecessary custom code in /m/_elements/login.
Move mobile styles into static
Refactor internal requests for static content into RT::Interface::Web::Handler

Used by our JS squisher and soon to be used by the dashboard mailer.
Dashboard::Mailer: Avoid inlining remote resources

Although remote resources like images and CSS aren't present in RT by
default, local customizations may add them.  Previously the remote path
was blindly requested from Mason, with no chance of success.  Instead
just leave remote resources alone.
Dashboard::Mailer: Use URI::QueryParam for parsing/decoding

Instead of our ad-hoc solution.  Less maintenance burden.
Dashboard::Mailer: Inline static content differently than Mason components

The move of JS to static didn't affect the dashboard mailer since all JS
is stripped.  With CSS now static, however, requesting it through Mason
doesn't work since our static handler is at the PSGI level.
Note how to target specific themes now that the per-theme callbacks are gone

As suggested by Christian Loos on Github.
Merge branch '4.2/static-css'

Conflicts:
	docs/UPGRADING-4.2