Added new app for handling static media

The staticmedia app is meant to replace the unisubs_compressor app.
It currently handles compressing/combining CSS and JS files and
optionally serves them up via a django view.

It will eventually handle uploading things to S3.  The idea is that
when doing most development work we will just use the URLs for the dev
server.  For production, we will upload to S3 and those URLs.

JS compression is handled using uglifyjs.  CSS compression is handled
using SASS.

Fixed several syntax errors in our CSS files.
Started using staticmedia instead of unisubs_compressor in our templates

Added template tag to include a media bundle.  It doesn't support S3
yet.

Changed the URL conf for our media urls.  Now bundles are put into
the css/js subdirectories, which mimics the old structure.  Also we
now serve up the images and fonts directory in the urlconf.  This is
needed for our CSS relative paths to work (for example
url(../images/amara-logo.png)).

Removed a bunch of things that we no longer use/need:
  - pagedemo app
  - The unisubs-stat js file (It wasn't used by any of our apps, but
    it got built and uploaded to
    http://s3.www.universalsubtitles.org/js/unisubs-statwidget.js)
  - The test_form page (/videos/test)
  - The jstesting app (bunch of pages that start with /jstesting/)
  - The streamer app (bunch of pages that start with /streamer/)

Removed some javascript calls to the closure code:
  - unisubs.widget.WidgetController.makeGeneralSettings.  I think this
    is no longer needed with the new embedder.
  - unisubs.messaging.simplemessage.displayPendingMessages.  I don't
    think we use the simplemessage framework anymore.

No longer include unisubs-onsite-compiled.js I think this was only
needed for the old widget and we don't use that on our site anymore.
We were also sometimes using offsite-compiled for our own pages which
seems strange.

Added a semicolon at the end of jquery.chosen.min.js.  I guess it left
it out to save the byte, but this doesn't work when we combine
javascript files together.

Still to do:
  - new editor JS
  - embedder (both JS and CSS)
  - old embedder
  - widgitizer
Changed the editor to use the new media system.

Used ng-annotate to add dependency annotations for our angular code.
This is needed because the subtitle editor JS is now minified.

Also use the new media system for the editor CSS.  This means no more
compiling subtitle-editor-dev.css by hand and checking it in!  Updated
the URLs for our editor CSS so they are now relative to the media/css
directory.
Generate base.css directly from v1.scss

No more needing dev to compile and check in v1.css.
Added management command to build javascript bundles with closure

The closure build process is pretty crazy and we are in the process of
moving away from using it.  This command is a semi-hack to just allow
us to keep up support for them.  The idea is that hopefully we will
just let these files site there and continue to deploy them, but not
really change anywith.  In case we do want to change something, then
we need rebuild that bundle and check the result in to git.

This is all in preparation of adding support for the old embedder, old
editor, and widgetizer to the staticmedia app.

Moved a bunch of javascript settings out of our main settings file and
into the build_closure_bundle module.  Moved the javascript paths for
editor.js to live inside the MEDIA_BUNDLE setting.  This seems more
consistant with the way the other bundles are defined.
Remove a bunch of calls to widget.add_onsite_js_files()

We don't need these anymore now that we are using the new embedder.
Made the embedder work with the staticmedia app

Added support for adding the _amaraConf object to javascript files.
This replaces our old system where we would either include
embedder/conf.js or embedder/conf-dev.js when building the embedder
bundle.

Don't put the embedder JS/CSS in the release/public directory.  We
don't actually publish those URLs, instead we publish the link to the
iframe URL.  This lets us put them in the same location as other
JS/CSS bundles which is simpler.  It also allows us to drop the
bootloader code that was happening in release/public/embedder.js (but
only on production).

Updated the URLs in embedder.scss based on the new location.  Changed
embedder.js so that the init() call happens inside
$(document).ready.  This is needed now because that file is loaded
directly instead of with a bootloader.

Don't have embedder.js add the embedder.css script dynamically.  Since
this is all happening in an iframe that we control, we can simply
include the CSS in the HTML head.

Removed embedder-dev.css, we now just build it on the fly.

Removed embedder-offsite-iframe.html.  I don't think we use it
anymore.
Updated static media documentation.

Added sphinxcontrib-httpdomain to requirements.txt.  This is needed to
build the documentation.
Move the documentation requirements to their own files

In order to make things work on readthedocs, I think we need to point
them to a requirements file so that sphinxcontrib-httpdomain gets
installed.  Making a documentation-specific requirements file seems
like a good way to do this.
Updated documentation to eliminate sphinx errors
Made the old embedder work

Added a page to test it (media/test/old-embedder/)

Fixed syntax errors in unisubs-widget.css.  Updated embed.js template
to use the new template tags.  Implemented the url_for template tag

Fixed exception in widget.rpc.  Just hardcode embed_version='', which
was controled by the settings file before.  I have no clue what that
is for.
Added setting to not compress static media.

Added a test for it and also fixed some other unittests along the way.

Added an empty models.py module to avoid django errors.
Made the embedder work with HTTPS

Added a page to test the embedder (/media/test/embedder/)

Added a static_url() template tag.

Fixed our embedder JS so that it uses the same protocol as the request
for URLs instead of forcing HTTP.  For most URLs this simply meant
changing "http://" to "//" (AKA a protocol-relative URL).  For some
reason this didn't work for iframeDomain, but the fix was simple
enough there, just use parser.protocol.
Fix creating uncompressed CSS

When we do this, we still want to run the CSS through SASS, just not
copmress it.
Fixed exception in the video pages
Made the old editor work again (#1615)

Just removed the call to widget.add_config_based_js_files().  That
function added the variables js_use_compiled and js_dependencies to
the template context, but as far is I can tell we weren't using them
anymore.
adds live server ports and hostname to app fig config
adds firefox repo to use latest firefox
use latest version of selenium, no need to specify version
Reworked the media-related template variables

Added a template context processor to the staticmedia app.  Use that
one instead of the one in utils.context_processors.  The
context processor sets up the STATIC_URL and MEDIA_URL variables.

Ditched COMPRESS_MEDIA, I don't think we really care about that one
anymore.  Ditched STATIC_URL_BASE.  I don't think we need second
variable when we already have STATIC_URL.

Removed a couple unused templates: videos/_offsite_widget.html and
embedder.html.

Updated other templates to not use COMPRESS_MEDIA or STATIC_URL_BASE.