Redesigned d3.geo.albersUsa.

This commit changes the albersUsa projection so that it uses a custom projection stream rather than a custom projection function. The projection stream passes geometry to all three constituent projections, which are then clipped to their respective viewports. The result is that geometry that appears in multiple projections (such as a graticule) is now rendered correctly in each, with clipping! In addition, the inverse projection is much easier to compute because the viewport regions of each projection are explicitly defined.