`window` and `document` are easily injected anyhow, but this
primarily this keeps everything dom related in the same place.
Included here are changes to make all ember related objects use the dom
service `document` and `viewport` instead of just `document` and
`window`.
Quote from a previous PR (#4924) which explains the thinking around this:
> Now I have all these things in the dom service, it would make sense
to get window from there also. I was thinking of making a viewport
method, which would be a nice word whether window was a browser window,
an iframe (not really a window) like when ember testing, or anything
else. To me the viewport is what we are actually talking about here.