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.
Fix merge
Formatting