merge features from virtual-hyperscript

I went to update virtual-dom to the latest version of virtual-hyperscript, but it depends on vtree. In my efforts to reduce this "yet another vtree dependency" problem, I have simply merged the changes from virtual-hyperscript into virtual-dom/h. cc @Raynos