virtual hyperscript refactor

- removes data- attribute hack (breaking change)
- fixes for lte ie8 (remove typed error and data-set, use ev-store, use isArray and for in)
- attribute hook takes namespace since attributes can be set directly, otherwise this hook is redundant
- minor refactors (move svg attributes out to a separate file, use semi colons, use strict and single quotes, use `hasOwnProperty` instead of `in`)

//cc @Raynos
Why no assert.throws() ?