Expose services as a consumable external module

this check is wrong.  This will allow someone to use a unicode escape in their identifier and still have it count as "use strict".  That's not correct according to the ES5 spec.  The raw text (not hte cooked text) must be "use strict".