Code Review: CSS/JS Abstraction and Theme improvements

This a fairly major set of changes and could do with a serious code review.
Here's the main things this does:

1. Add theme inheritance and css/js overriding
 * This still default to including the default theme
 * Allows themes to specify CSS/JS files to include through readme.txt
 * Allow themes to override CSS/JS from parent theme by include a file of the same name
2. Split out themes/default/css/style.css
3. Handle all CSS / JS includes through 1 library: Requirements
 * This enables us to combine and compress these files
 * Requirements library is ported from another framework, but has had serious modification so needs some review too (however I haven't rewritten it all so haven't enforced coding standards everywhere)
 * We're adding CSSMin and JSMin to compress files
 * A bunch of new options in application/config/requirements.php
4. Add support for RTL css files through Requirements library.
  * All CSS files can be replace by a file of the same name with the -rtl suffix.

There are also other fixes that were enabled by the refactoring, and some general JS/CSS cleanup.

Issues addressed: #338 #550 #301 #261

I've started documenting all this here: https://wiki.ushahidi.com/display/WIKI/Managing+CSS+and+JS+in+Ushahidi

Any feedback appreciated, even if its to tell me I'm crazy and I've over thought the whole thing.