lib: reintroduce v8 module

I introduced this module over a year ago in a pull request as the v8
module but it was quickly subsumed by the tracing module.

The tracing module was recently removed again and that is why this
commit introduces the v8 module again, including the new features it
picked up commits d23ac0e and f8076c4.

R=@trevnorris
@bnoordhuis Totally agree that implied promises given by linking are bad especially if linked content ends up not being maintained.

On the upside, the v8-flags documentation is entirely generated and can be updated whenever the API changes by simply running [`npm run flag-doc`](https://github.com/thlorenz/v8-flags/blob/master/package.json#L20).
The only part of the docs that is manual and gets merged with the auto generated one is [specified here](https://github.com/thlorenz/v8-flags/tree/master/scripts/comments). *I was secretly hoping for some v8 folks to jump in and help with adding more details via [simple update steps](https://github.com/thlorenz/v8-flags#contributions)*

If linking to a third party thing is worrisome I'm open to adapt the generated docs to be included somewhere within the official node docs.

* * *

Thanks @chrisdickinson macros are lots of fun :)