Rewrite the updating and reading part of the specification.

This is rewriting how we store the orientation information and how it is updated. It is moving the pending promise concept to the document and changes how and when we fire the change events. It also clarifies the fact that the value is stalled when the page is invisible.

Should fix all the open LC bugs.