Delayed subtrees

Depends on diagrams/diagrams-core#47; that should be merged first.

This pull request has two major components:

1. Fixes #112 by creating arrows as delayed leaves.  We can only correctly draw an arrow once we know the final transformation applied to it.  See diagrams/diagrams-core#47 for more details on how this is accomplished.

2. While we are at it, use the fact that we know the global context at arrow creation time to take the default arrow head, tail, and shaft colors from the current line color.