Module loading

Fix the problem that Chrome loads extension-added scripts out of order by waiting for each scripts "onload" event to fire before adding the next one.

Turn each script into a GS.Module object that lists its dependencies and creates a loader function.

Add a module_loader script that runs after all other modules have been created but not loaded. Check the dependencies and then load each module in order. This may result in some unnecessary waiting, but it guarantees the order in which our modules run. Previously the run order of our scripts could be changed by the order in which Goko instantiated our scripts' dependencies.

I seem to have broken avatars to some extent in the process.