Make the loading of files injectable

This creates two implementations to load text files. One for the web using
XMLHttpRequest and one for Node using the fs module. By default Traceur uses
the web one and node libraries can override this.

Closes #282