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. 
Ok. What bothers me is that you can't really prevent another lock to apply because there is a system layer that might not be controllable but I guess this is not the intent here.