Update WebDriverJS to support parallel flows. Documentation to follow in a future
update to the WebDriverJs wiki page.

This change renames several low-level classes and functions in the promise module:

  promise.Application                                 -> promise.ControlFlow
    #schedule(string, function)                       ->   #execute(function, [string])
    #scheduleTimeout(string, number)                  ->   #timeout(number, [string])
    #scheduleWait(string, function, number, [string]) ->   #wait(function, number, [string])

The old schedule* functions are still present, but will print a warning message if called.
They will be removed in 2.31.

This change also renames the //javascript/node:webdriver target to
//javascript/node:selenium-webdriver. We will soon publish the module to npm as
"selenium-webdriver".

Fixes issue 4640.
Update the prebuilt SafariDriver