Initial stab at arbitrary bezier

Note that this breaks API. Also might need to figure out a nice way to
round those result x's.

Related to #43.
Remove unnecessary variable and simplify
Hook up curves and add missing interpolation

Looks like we don't have to change `curves` filter API after all.
Instead it was enough just to remove restriction related to maximum
amount of control points.
Tweak documentation
Refresh docs
Shim bezier declaration

Note that even though the API docs state it uses the new syntax, it is
also compatible with the old one. It is likely neatest to drop that in
5.0.
Implement 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.
Load images via URL in Node
Merge pull request #121 from lukaszfiszer/node-http-fetch

Load images via URL in Node
Recompile
Fix merge
Formatting
Fix merge
Simplify API
Leftover submodule
Upgrade and fix karma
Set karma version
Whoops, fixed
Apparently TravisCI only supports Firefox now
Regen docs