Added a Plot and Stats component, that will be filled with D3 graphs. So far, I've got a gauge working, Useful for displaying instantaneous information.
Added dist folder, except scripts, which are auto built by grunt
rearanged some code on the Gauge component
Bound track mouseOver to stats gauges
paint polyline according to elevation
initial commit that will allow view switch between speed and elevation
memoizer for Track. It's probably not the best thing ever, but it improves performance by a lot.
Another huge performance win. Only redraws Map when the track is modified. This is important, since rendering the map involves creating and deleting a lot of polylines (1 per trackpoint - 1), so if the track is big, the number of polylines will be as big, and rerender that from scratch is costly.
smaller gauge
deleted log statement
first working version of the plot. Very simple, not interactive, etc. etc.
Plot renders and rerenders ok. No cool transformations, but it's usable. So far, only shows elevation.
updated CSS. Plot is grey now
Added plot transitions on track change
I've rewritten track.js on it's entirety. It's a paradigm shift from what we had before.

Now:

Track -> holds name, description, trackpoints and averages (precomputed). It can be sliced, bounds can be found and nearest too, as before.

Trackpoint -> holds all instantaneous stats. I've done this since it is way easier to manage data back and forth with D3 and the datum option if everything I want to represent is precomputed into an array, instead of having to to the calculus manually in render or some other place.

parseTrack -> Async like function. This will be the function used when instantiating a track from an XML. Since it's async, it won't block the browser, as it did before. Being non blocking is important, since there are (potentially) lots of calculations to perform.

Also, as things are written now, they will take advantage of hidden classes in V8, so it should be snappy performance wise (many improvements pending, I suppose).

Anyway, even though it's a rehash of what was already working, I have not tested it, so it is probably broken in quite a lot of ways. In further commits I will get the tests up and running again and perform the necessary refactors to fix this branch to a working status
simpler comparison
refactored everything so all is working again (except tests). Also fixed some bugs in track.js
Added indicator to plot with currentIndex. mouseover on plot changes currentIndex, as does mouseover on track. Every currentIndex change is reflecred on map, plot and stats simultaneously.