Field now keeps a `parent` reference and pulses a value event on the parent from `setValue`

this eliminates duplicate value events on the parent when a child
changes; we were previously observing the `children` but since the
children can depend on each other we could get duplicate events; now
_only_ the child that changed will pulse the parent; this fixes #2