respect undefined

When you call `createElement(vtree)` where `vtree` has a property whose value is `undefined` then `applyProperties` will set the value to undefined.

Example:

```js
h("input", {
  value: state.isReset ?
    resetHook("", state.events.reset) :
    undefined
})
```

Having `applyProperties` gaurd against this means that free variables are respected