Add CommonJS and AMD support

This will let us use fragment with things like Browserify and Component.