Pass in keyPath for swap and next-animation-frame events

- [ ] add spec tests

Closes https://github.com/omniscientjs/immstruct/issues/21