add custom wrapper

This change adds the ability to define a custom wrapper. Instead of being restricted to variable assignment (such as module.exports) and angular, you can now use any system, such as amd, or umd.