Add list concatenation block
Add dummy graph render
Add basic graph manipulation blocks

There is currently only one graph -- "the" graph. The following
operations are now supported:

- get "the" graph
- get node by label (sort of, it's implicit)
- add node/edge
- delete node/edge
- get node neighbors
- get/set node attributes
- get number of nodes in a graph
Move graph changes into their own file

Each SpriteMorph now has its own graph. Also, the graph display is
much more responsive, since redraws will only happen when the active
graph is changed.
Add "new undirected graph" and "new directed graph" blocks

Closes langtech/snapapps#9
Add "display current graph" block
Add "clear graph" block
Forward mouse events to the Snap! canvas
Fix some braces
Explain why contextmenu is being trapped
Add some standard graph generation blocks

This adds balanced r-ary trees, cycle graphs, complete graphs, path
graphs and grid graphs.
Add edge attribute blocks
Add node/edge getting blocks
Add predicates for presence of nodes/edges
Add incoming/outgoing nodes blocks for digraphs
Add "is connected" predicate for undirected graphs
Add strong/weak connectivity predicates
Use Graph#number_of_nodes() instead of Graph#size()

The former is the number of nodes in the graph; the latter is the
number of edges. Fixes the trivial graph being reported as
disconnected.
Add functions to serialize/deserialize graphs
Add block to load remote JSON graphs