Add section and code for curve area

@behdad

I wasn't 100% sure if I was putting my code in the right files, but this seems to work locally for me.

(Temporarily closed before some bureaucratic details can be worked out.)
the `intersects` function should not be able to generate `t` values less than 0 or over 1, as those cannot be true intersections. If it's returning bad values, that's a bug in the intersection function, not something to filter for here.