d3: initial impl of runtime and bindings
d3: add num and str helper functions

Often when using the `attr` function, you want to provide a constant as
the value of the attribute. `num` and `str` are type-specific functions
that make that easier. Rather than writing something like this:

  attr "x" (\_ _ -> "100")

you can instead write something like this:

  num attr "x" 100
examples: display version

Sanity check for FFI.
examples: boxes
build: add Makefile

Makefile has a dependency on node and the smash package. Before
building, install node and run the following command:

    $ npm install smash

Then you can build elm-d3 using the following command:

    $ make

This will create a file called elm-d3.js which contains the compiled Elm
code as well as the elm-d3 runtime. It does not contain the Elm runtime,
nor does it include D3.

All the native code for elm-d3 uses smash to organize code.

Note that this makefile requires a version of the compile that supports
the `--src-dir` flag, which was introduced at evancz/elm@de52caca8ea6c6
build: make flags to include elm-d3 runtime deps

In its simplest use, it looks like this:

  $ elm --make `./scripts/build-flags` examples/Boxes.elm

This assumes you're building from the root of the elm-d3 source tree.
`build-flags` will generate --script include flags to include the
runtime and d3 in the Boxes example.
native: move safeValfn to a separate file

It's a reusable function that will come in handy transition operators.
d3: provide bindings for color functions
d3: support transition and basic operations
examples: transition circles
d3: add documentation
README