Implement spread attributes

In relation to https://github.com/jsdf/coffee-react-transform/issues/19
Roughly as specified in https://github.com/facebook/react/commit/e6134c307e2bb7765aaa747eb5d2136fc18abbd7
(I personally think it's more important to not support things that shouldn't work than to support rare things that should as you can always rewrite your code a little differently to avoid trying to write `{...(z = { y: 2 }, z)}`, but obviously you should decide what you want to do here!)