Admin refactoring, Cascade module update, Audio feather enhancements

# Admin refactoring

Separated core admin behaviour and theme-specific stuff into two JS files. This will makes things easier for theme authors if they want to implement different behaviours for the admin pages.

# Cascade module update

Now scans for inline JS in the fetched pages, necessary for Audio feather and any other feathers that do inline JS stuff to initialize themselves. Also improved the commenting a little bit, so it's clear what is going on during the fetch. Incorporated contribution from @onmoon to update Firecrest's page descriptions ("page X of X") and added updating of the "next page" link in its entirety.

# Audio feather enhancements

jPlayer script has been taken out of the feather output. Instead the feather is now responding to the “scripts” trigger and adding the jPlayer script. This avoids the script from being loaded in duplicate when there is more than one audio feather on the page and it also makes Audio feather compatible with Cascade module (Cascade will not execute linked scripts).

Audio feather now also searches for a jPlayer css file in the active theme's stylesheets folder. This allows theme authors to reskin jPlayer. If no jPlayer css file is found in the active theme, the default “Blue Monday” css is linked.

Last but not least, noscript fallback has been added to the Audio feather. If JS is disabled, the jPlayer GUI is not shown and instead an error message is shown, including a direct link to the audio file. If JS is enabled, the noscript tags are ignored and jPlayer unhides its GUI as part of its init procedure.