made _inject() more robust by moving the continuation then() outside the try

the try / catch is to check the injection because an error is thrown if
the js is not available.  having the then() in the try was problematic
if the logic inside then() would throw a different error, we might try
to inject the script again when it is already there.  now we Do The
Right Thing (tm)