Began addressing feedback from bug #24697

Started rewriting steps to apply an orientation lock algorithm as per Bugzilla bug [24697](https://www.w3.org/Bugs/Public/show_bug.cgi?id=24697). 

It reworks the way the promise are resolved/rejected and the "pending promise" which is in the asynchronous task. 
Presumably we are about to perform an orientation change, so we need to clobber all pending tasks that are wanting to change the orientation (there should only ever be one task in waiting in the event loop).