Synchronous load of cui.js object.

Typically, an App loads call definitions remotely and asynchronously. This is suitable when evergreen call definitions are desired. However, if all definitions are static, an App can choose to load cui.js synchronously.

Scenarios

The benefits to loading synchronously are 1) reduced startup duration, and 2) simpler code.

The App must explicitly call cui.apiSync() with locally defined call definitions. The cui.js object is immediately returned to the App, without needing to wait for a promise to resolve.

 var myCuiJs = cui.apiSync({
    defs: [{...}],
    serviceUrl: 'PRD'
 });

Note, all calls that then emanate from this cui.js object still return promises, as usual.