`reset`

The `reset` mixin should allow to set initial values for multiple properties at once. The "initial value" depends on the property (or properties) being reset: it can be `auto` for `width` but `1` for `opacity`.

```
reset([property [property...]])
```
This function should accept a list of zero or more property names, as literals or as strings. Property names can be "real" properties (ie: `height`, `font-size`) or shorthands which may expand to more than one "real" property. In the following example, `size` is a shorthand property, while `font-weight` is an actual CSS property:

```stylus
body
  reset: size font-weight
```

```css
body {
  width: auto;
  height: auto;
  font-weight: normal
}
```

We should be able to use `reset` multiple times on the same block and also with no arguments (in this case, nothing should happen). 


`reset` should be able to handle `!important` and live together with other mixins:

```stylus
body
  reset: box-shadow margin !important
```

```css
body {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  margin: 0 !important;
} 
```

Some properties can have their initial value be configured by defining a `initial-*` variable. This variables are also used by `normalize`.

```
initial-box-sizing = border-box
div
  reset: box-sizing;
``` 

```css
div {
  box-sizing: border-box;
}
```

List of resettable properties and shorthands:

Done | Property                      | Expands to | Configurable |
--------|----------------------|------------------|--------------|
✓ | `direction`                    | `direction: ltr` | ✓ |
✓ | `text-align`                   | `left` if `direction` is `ltr`<br> `right` if `direction` is `rtl` |  | 
✓ | `width`                       | `width: auto` | |
✓ | `height`                      | `height: auto` | |
✓ | `size`                        | `width: auto` <br> `height: auto` | |
 | `box`                         | ??? | |
 | `font`                        | ??? | |
✓ | `font-size`                   | `font-size: medium`  | ✓ |
✓ | `font-family`                 | `font-family: sans-serif` | ✓ |
✓ | `font-style`                  | `font-style: normal` | |
✓ | `font-weight`                 | `font-weight: normal` | |
✓ | `font-stretch`                | `font-stretch: normal` | |
✓ | `text-decoration`             | `text-decoration: none` | |
✓ | `text-transform`              | `text-transform: none` | |
 | `text-stroke`                 | ?? | |
✓ | `line-height`                 | `line-height: normal` | ✓ |
✓ | `color`                       | `black` | ✓ |
✓ | `cursor`                      | `cursor: default` | |
✓ | `margin`                      | `margin` | |
✓ | `margin-left`                 | `margin-left: 0` | |
✓ | `margin-right`                | `margin-right: 0` | |
✓ | `margin-top`                  | `margin-top: 0` | |
✓ | `margin-bottom`               | `margin-bottom: 0` | |
✓ | `padding`                     | `padding` | |
✓ | `padding-left`                | `padding-left: 0` | |
✓ | `padding-right`               | `padding-right: 0` | |
✓ | `padding-top`                 | `padding-top: 0` | |
✓ | `padding-bottom`              | `padding-bottom: 0` | |
✓ | `background`                  | `background: none` | |
✓ | `background-image`            | `background-image: none` | |
✓ | `background-color`            | `background-color: transparent` | |
✓ | `background-repeat`           | `repeat` | |
✓ | `background-position`         | `0 0` | |
✓ | `background-size`             | `auto` | |
✓ | `background-origin`           | `padding-box` | |
✓ | `background-attachment`       | `scroll` | |
✓ | `background-clip`             | `border-box` | |
✓ | `position`                    | `position: static`  | ?  |
✓ | `left`                        | `left: auto` | |
✓ | `top`                         | `top: auto` | |
✓ | `right`                       | `right: auto` | |
✓ | `bottom`                      | `bottom: auto` | |
✓ | `box-shadow`                  | `box-shadow: none` | |
✓ | `text-shadow`                 | `none` | |
✓ | `border`                      | `border: none` | |
✓ | `border-width`                | `border-width: medium` | |
✓  | `border-top-width` | `border-top-width: medium` | |
✓ | `border-right-width` | `border-right-width: medium` | |
✓ | `border-bottom-width` | `border-bottom-width: medium` | |
✓ | `border-left-width` | `border-left-width: medium` | |
✓ | `border-color`                | `currentColor` | |
✓ | `border-top-color`                | `currentColor` | |
✓ | `border-right-color`                | `currentColor` | |
✓ | `border-bottom-color`                | `currentColor` | |
✓ | `border-left-color`                | `currentColor` | |
✓ | `border-style`                | `border-style: normal` | |
✓ | `border-radius`               | `border-radius: 0` | |
✓ | `border-top-left-radius`      | `border-top-left-radius: 0` | |
✓ | `border-top-right-radius`     | `border-top-right-radius: 0` | |
✓ | `border-bottom-right-radius`  | `border-bottom-right-radius: 0` | |
✓ | `border-bottom-left-radius`   | `border-bottom-left-radius: 0` | |
✓ | `opacity`                     | `opacity: 1` | |
 | `list`                        | ???                       | |
 | `list-item`                   |  | |
✓ | `transition`                  | `transition: none` | |
✓  | `transition-delay`                  | `transition-delay: 0` | |
✓  | `transition-property`                  | `transition-property: none` | |
✓  | `transition-duration`                  | `transition-duration: 0` | |
✓  | `transition-timing-function` | `transition-timing-function: ease` | ✓ |
✓ | `transform`                   | `none` | |
✓ | `perspective`                   | `none` | |
✓ | `transform-origin`                   | `50% 50%` | ✓|
✓ | `backface-visibility`                   | `visible` | ✓|
 ✓ | `visibility`                  | `visibility: visible` | |
 ✓ | `box-sizing`                  | `content-box` | ✓ |
 ✓ | `float`                       | `float: none` | |
 | `flex`                        | ???  | |
 ✓ | `animation`| `none` | |
✓ | `animation-name`| `none` | |
✓ | `animation-duration`| `0` | ✓ |
✓ | `animation-fill-mode`| `none` | |
✓ | `animation-delay`| `0` | ✓ |
✓ | `animation-iteration-count`| `1` | ✓ |
✓ | `animation-timing-function`| `ease` | ✓ |
✓ | `animation-direction`| `normal` | |
 ✓ | `tab-size`                |  `8` | ✓ |
 | `display` | Depends on the element | |

Note we are not adding here every single property of CSS, but only the ones that could be useful to have.

Notes:

* Some versions of IE *need* an additional `background-image: none` for the `background: none` reset. 
* `reset: list` and `reset: list-item` should reset lists default styles on `<ul>` `<ol>` `<li>` `<dl>` `<dt>` and `<dd>` elements: `list-style` `margin` `padding`.
* Does it makes sense a: `reset: counter(name)`?

See:
- http://compass-style.org/reference/compass/reset/utilities/