fix chart width issues
allow charts to have sub-pixel widths

By removing this restriction, our bar graphs can now stretch to fill
all of the available space instead of wasting the space that wasn't
evenly divisible into whole pixels for each bar.

Not all browsers support sub-pixel rendering, so the code reverts back
to the previous behavior instead of rendering an ugly graph to the user.
fully responsive graphs :heart:

By specifying graph bar widths in percentages, we get a graph that
resizes when you resize your browser.

This is only enabled if the browser in question supports subpixel
rendering, so it's unlikely to break our graphs in browsers that don't
support percentages and `calc()`.
update fake data generator

Now it generates user statements that are long enough to trigger the
two-column layout, and generates enough transfers that there's
sufficient data in the user receipts graph.

I lowered the number of total users since our fake transactions are
random, so it's more likely for a given user to have a good number of
receipts.