Knockout es5 is AMD aware.

In the context of AMD, knockout defines itself as a module and does not attach 'ko' to the global object. This causes es5 to fail.

This change defines an AMD module for es5. Knockout is declared as a dependency to ensure that it loaded first.