Rendering improvements!
Rendering improvements!

Offset the axis by a half-pixel so that single-pixel lines exactly cover whole
pixels when the tick position is an integer. This obviates the need for the
crispEdges shape-rendering style when used in conjunction with scale.rangeRound,
and improves the default appearance even without, as long as the axis origin is
at integer coordinates. This is especially noticeable in Safari, where crisp
rendering of single-pixel lines often results in two-pixel lines! Fixes #8.

Use presentation attributes rather than styles to apply the default appearance.
This makes it easier to override the styles using CSS, since any CSS rules will
take precedence of the presentation attributes. Fixes d3/d3#2102.

Extend the default appearance with additional presentation attributes: the
default font is now 10px sans-serif; the domain path and tick lines are now
stroked rather than filled. Fixes #7. Since these are attributes and not styles,
you can easily override the default appearance using CSS. (You can also use
post-selection, as always, to modify the axis.)

This commit also cleans up the axis rendering logic and fixes the transition of
entering ticks: they were previously transitioning in from a tick size of zero,
in addition to fading in. Now they just fade in.

d3/d3-axis,d3/d3-axis