Make Qstart a Promise instead of a function returning a Promise

+ There is only one "readystatechange complete" event on a browser so it
can be represent by one Promise.
+ This event should not be missed so we listen to it directy.