Replace widget parent node - Issue 120

https://github.com/Matt-Esch/virtual-dom/issues/120
* widgetPatch can update parentNodes
* replaced DOM assert.equals at test/keys ("widgets can be keyed") with assertEqualDom
Sorry to be nitpicky, but could you keep the style consistent with `stringPatch`? That is

- declare the `newNode` variable at the top of the function 

- remove the extra newline before `else`