Add AMD module definition support

Uses a simplified UMD pattern to support both AMD and browser global use.