Add AMD/CommonJS wrapper