Tick label wrapping

First crack at #357.

Uses the "telegraph" method:
 - It greedily adds characters up to a starting cutoff.
 - After the starting cutoff, if it finds a space character, it will start a new line there.
 - If it runs out of horizontal room before finding a space character, it will add on a hyphen and start a new line.
 - If it runs out of vertical room, it will truncate the last line with ellipses.

If a tick label gets broken into multiple lines, each line is put in a separate <tspan>
and moved to create the appearance of multiple lines of text (SVG does not currently
have automatic text wrapping).

Also improved the default formatter for axes so it only tries to scale numbers.