Fix Studio's XBlock dependency loading issues

STUD-1465

Changed the XBlock rendering logic to use promises to track asynchronous tasks. Each dependency is then only loaded once the previous one has completed, and the XBlock initialization only happens once all dependencies are loaded. This gives XBlocks the same semantics in Studio as they get when shown directly on a page.

See this Stack Overflow answer for an explanation of the approach:
http://stackoverflow.com/questions/8026191/can-i-use-jquery-getscript-without-a-callback/8026693#8026693