Move brushExtents into brushes/1D.js

brushExtents is a function that only makes sense when the 1D-axes mode is
active, so reorganize the code to reflect this.
We need canvas as a requirement.

d3.parcoords.js is actually drawing on a canvas. So we need to make sure
that our test backend provides the proper support for it.
Move the brushReset function into brushes/1D.js.

This particular implementation only works for the 1D brush. Additionally, I
wrapped the 1D-brush code in a anonyomous function wrapper to make sure
that this code stand on itself and does not interfere with other
functionality.

Some further cleaning is required to make 1D work properly again.
Now we have the canvas, this seems to work to get a d3.parcoords object.
Make sure that we don't have brush related methods when brushMode is None.

This means that we have to check for the mode on change before we can call
brushReset.
Add some first test for switching to the 1D-axes brushMode.
Use single quotes.
Adjust the examples to the new API.
Update the development documentation.
Move more 1D brush related code into brushes/1D.js
Fix 1D brushing.