Account for NaN and undefined values on Plot.Line and Plot.Area

Makes use of d3's `defined()` option on its `line` and `area` generators to skip `NaN` and `undefined` values.

Adjusted `Plot.Line` and `Plot.Area` unit tests to create a new `Plot` for each test, reducing cross-dependency between tests.

Quicktests coming shortly.
It'd be tricky to wrap it into a function since you'd still have to supply `yFunction`, which is declared inside the `paint()` method.