Load modules asynchronously via <script/> injection.

This makes loading of modules in the browser much faster.

    Add support for asynchronous loading of classes.
    
    Dependencies between classes are listed in the manifest.json files.
    These files list what classes are required to load other classes. Yet, each eval
    of a class can trigger loading of a required class. This means that the request
    for a particular class is only sent out when the class that needs it is loaded.
    
    This patch adds a new function:
        runtime.loadClasses(classNames, callback);
    
    This function creates a list of all required classes before doing any loading.
    If the environment is the browser and a callback is provided, the list of files
    is added as <script/> tags to the DOM. This means the browser can request all
    files at once. The callback is attached to the onload trigger of the last
    <script/> tag.
    
    If no callback is provided, the files are still loaded synchronously.
    
    runtime.loadClass is still present but redundant, since the runtime already
    knows what classes are needed for other classes.
    
    odf.html is adapted to use the new class.