Actually enforce dependency loading order

Summary:
Make sure that we actually load exercises in the order determined by
the dependencies, by only loading an exercise once the promises of its
dependencies are done.

Test Plan:
Load an exercise that uses interactive (like
`/exercises/graphing_points.html`) and see that there aren't any more errors
about `Graphie.prototype` being undefined.

Reviewers: alpert, eater

Reviewed By: eater

Differential Revision: http://phabricator.khanacademy.org/D2548