Add non-linear scaling and outlining

I wanted to create non-linear outlines for bezier-curves.

![tmp-bezier](https://cloud.githubusercontent.com/assets/39374/4736721/29a8e122-59ef-11e4-933d-c3aeea634d3f.png)

I dug into the code and found that it was surprisingly easy to achieve something visually satisfying, although I'm not entirely sure that it is mathematically correct.
I hope you find it worth merging.
we're already in `this` context, so there's no need to call apply, just straight up call `var outline = this.outline(d1,d2)`. If you need the extra implicit d3/d4 arguments, add them to the function signature and call `var outline = this.outline(d1,d2,d3,d4)` instead