Hermite curve variant

The hermite curve variant guarantees that the curve passes through given control points. This is the method that applications such as Photoshop and GIMP use for tone mapping. Consequently it will be easier to port effects from those environments to CamanJS.

The new curve variant may be passed as an optional parameter to the curves effect. It defaults to bezier when one is not provided.

Note that this is based on #114. I suggest you merge that first and this after. That way you avoid possible conflicts.

If you want to check out the original algorithm, check out [Unity wiki page on the topic](http://en.wikibooks.org/wiki/Cg_Programming/Unity/Hermite_Curves).

Here's a little demo image:

![screenshot 2013-10-24 21 33 16](https://f.cloud.github.com/assets/166921/1401760/d79686b8-3cdb-11e3-8802-f35940bf3ea2.png)