Wrap context for Node.js.
Move runner in for browser-side.

May breaks on TamperMonkey.
Add DOM tests.