Collecting the options from kankan and posiphys
The options are imported from posiphys, while the vertex and edge
functions are inspired by Ubigraph.

.vertex() will return a handle supporting the following interface:

  .remove()
  possibly .edge(another_vertex, options)

The options neccessary to achieve this are

  [id], can be overridden or left out for a value provided by an internal counter.
	(which is what the [] brackets mean)

.edge, which is admittedly duplicated in vertex.edge(another_vertex) will also
accept an options object with

  [id], optional parameter

But what do vertex() and edge() do?

For now, vertex is going to create a vertex object and draw a cube on the screen.
The edge function on the other hand will connect one cube with another, drawing a
line between them and returning an edge object supporting the remove operation.