New n-dimensional scatter plot example with GPU-based smooth projections

Not ready for merge, but you can already try it!

Things to be done:

* [x] minor simplification in `OrthogonalPath`
* [x] drop dependency on sklearn by including the dataset in vispy (#389).
* [x] ~~support for n-dimensional data points (instead of 4 dimensions max here), related to #390~~ (to be done later)

Close #389.

I think gloo will throw errors. You can try it to find out :) If it
doesn't, we should fix it (it's a bug).

My suggestion would be that we should cast to float32 when we need to (like
when using some numpy functions), but if we have classes that take care if
it for us like this, don't do it -- but we'll see what others think.