Remove defaults functionality

Given that DOT only assigns defaults as they appear in the source file
we punt on trying to bake in any special behavior for defaults and
instead leave it to the parsing phase.
Simplify the writer code
Always remove reparented object from original parent
Support parsing / writing with Dot(Dig|G)raph

Fixes #4
Fixes #5