Cleancss as an input filter to fix import inlining

cleancss is the only webassets filter(AFAIK) that supports CSS import inlining. But to do that it needs to know the directory path of the CSS file it's working on, which is only accessible to input filters.

We provide an input function that passes the --root argument to cleancss to fix this issue.

We keep the output filter as an added bonus to remove new lines between files processed this way.
Support files lists or tuples in Jinja2 assets block.

E.g.: `{% assets 'f1', ('f2', 'f3'), ['f4'] %}`
renders like `{% assets 'f1', 'f2', 'f3', 'f4' %}`.

It helps assets composition, enabling something like *varargs
(not supported by Jinja2).
escape JS string literals correctly in JST filter
added AMD optimization filter via external tool "r.js"
added unit test for "requirejs" filter
made "requirejs_config" parameter optional
allows compass output_style config option to be overridable
Merge pull request #290 from metagriffin/feature/requirejs

added filter "requirejs" for AMD-style javascript modularization
Merge pull request #292 from rawberg/master

allows compass output_style config option to be overridable
Merge pull request #284 from danc86/jst-backslash-escaping

JST filter does not correctly escape backslashes in string literals
Merge pull request #272 from anisse/patch-1

Cleancss as an input filter to fix import inlining
Merge pull request #282 from iurisilvio/jinja2_assets_list

Support files lists or tuples in Jinja2 assets block.