Rewrite the api to make it more friendly

- [new] Provide defaults for Next Gen products
- [new] Better API (thanks @paulrobertlloyd for pointing out the first version was not practical)
- [new] Improved architecture

### Example for Next Gen Web

```scss
@import '_webfonts';

// Next Gen Webfonts
//
// - Egyptian, Text Egyptian and Text Sans use medium font for bold font-weight
// - Egyptian uses semibold font for ultrablack (900) font-weight

@include guss-webfonts(
    (
        'Guardian Agate Sans 1 Web': (
            (weight: 'regular', style: 'normal'),
        ),
        'Guardian Text Egyptian Web': (
            (weight: 'regular',  style: 'normal'),
            (weight: 'regular',  style: 'italic'),
            (weight: 'medium',   style: 'normal', use-as: (weight: 'bold', style: 'normal')),
            (weight: 'medium',   style: 'italic', use-as: (weight: 'bold', style: 'italic')),
        ),
        'Guardian Egyptian Web': (
            (weight: 'light',    style: 'normal'),
            (weight: 'regular',  style: 'normal'),
            (weight: 'semibold', style: 'normal', use-as: (weight: 'ultrablack', style: 'normal')),
        ),
        'Guardian Text Sans Web': (
            (weight: 'regular',  style: 'normal'),
            (weight: 'regular',  style: 'italic'),
            (weight: 'medium',   style: 'normal', use-as: (weight: 'bold', style: 'normal')),
            (weight: 'medium',   style: 'italic', use-as: (weight: 'bold', style: 'italic')),
        ),
        'Guardian Sans Web': (
            (weight: 'light',    style: 'normal'),
        )
    )
);
```

![ ](http://media.giphy.com/media/Z6f7vzq3iP6Mw/giphy.gif)
Sass lists can be separated either with commas or spaces. Problem is, when you try to pass a comma-separated list as a direct argument in a function/mixin (e.g. `f(hello, world)`), it fails because function arguments are also separated with commas.

From there, there are several ways to go:

* Either you use space a list delimiter: `f(hello world)`
* Or your wrap your list with braces: `f((hello, world))`
* Or you use a variable first: `$l: hello, world; f($l);`

Long story short: Kaelig has it right.

On a side note: you should be using an `arglist` rather than a regular list when there is an unknown number of arguments. For instance `load-fonts('A', 'B', 'C', 'D')`.