Move chart js to it's own file

Next step is to make it a proper library.
Four of the six charts are reimplemented

The two that aren't are cumulative and nwithdrawals, which need some
math on them. These are the existing charts, mind you. Once these are
taken care of I'll look at implementing the per-user chart.