add minimal async loader using scriptjs and returning a promise