AMD module support

Wrapped the swfobject var in a self-executing function that checks if the code is running in an AMD environment, and if so wraps swfobject in a define() call, otherwise assigns it to the global scope as usual. Also makes sure swfobject is in a windowed environment before initializing swfobject, lets developers inject a mocked version of the dependency if a window object isn't present.