There's now a new API for invoking the hierarchy layout (hierarchy.nodes) rather
than calling the layout function directly. Calling the new API enables inlining,
which is disabled by default for backwards-compatibility.
This way, we don't need symlinks (which don't work on Windows). This commit also
simplifies the structure of the flare.json file, so that we don't need to tricky
conversion of the JSON map—it can be read directly by the hierarchy layout.
The pack layout now sorts nodes by ascending value by default. The `radius`
property is removed, as the radius is always computed from the node value. The
`spacing` property is also removed; it doesn't seem particularly useful. The
`radius` property is renamed to `r` to match `x` and `y`.
I also optimized the implementation slightly, and namespaced temporary state
under the prefix `_pack_`.
Based on the Protovis layout. I've kept the convention of using `size`
for the width/height and `separation` for the spacing. The Protovis
layout had a `size` property but this was used to compute the radius.
I've left this out as I've assumed it's straightforward enough to pass
in the appropriate `radius` function instead. Likewise, I think the
existing hierarchy `sort` property can handle situations that `order`
was intended for in the Protovis version.