[WIP] refactor(dom): hide all dom access behind a facade

This PR hides DOM-access operations behind a facade. Having this facade enables better instrumentation. For instance, we can add WTF trace calls, so in the profiler you can see all the DOM operations, how long they took, etc. 

It is a WIP PR, so I'd like to get some feedback.

I commented while reviewing the PR may be I was lacking an overall view.

I don't really care if we use prefixes or not as long as all the methods have a consistent naming (either always or never use a prefix)