Require.js (WIP)

Opened so people can spy on me.  Please ignore random code snippets sitting in files they don't belong in (especially in notebook.js), I'll move them when I get to the correct file.
Ahh got it, I like this idea.  One I finish this first pass over the whole thing, I'll go back through and remove the IPython references in the lower files.