Hybrid Bitcoin web wallet for performing multi-sig transaction on an e-commerce site Two participants in a transaction, a buyer and a seller, need to interact financially. For security, they themselves keep their private keys and sign transactions on client using JS.

I want to create a 2 in 3 multi-sig address, i.e: "3...", and have the buyer pay to this address. When a confirmation is received for the acceptance of BTC I will tell the seller to ship product. When it physically arrives to the buyer - he will approve getting the product and sign the multi-sig transaction. In case any dispute site admin will have the third private key to resolve any issue. 

My question is how to implement this on my site. There are many open source JS Bitcoin libraries supporting multi-sig out there. There is copay/bitpay api, bitgo, gem.co, coinb.in outcast3k, bitvault, coin kite. Not much online about how to properly go about doing this. 

The best implementation I have seen is taking place on http://www.coincola.com/

Anyone can help clearing the fog here?
Most of the libraries you mentioned would work for this problem. However, some are built more like libraries to be called from other javascript (eg. BitcoinJS), while others are designed with a full user interface so a semi-technical user can host multisig signing functionality on their browser (eg Copay). Some options you mentioned are also multisig wallet services which require you have an account with them, and they are taking care of some of  the nitty gritty of multisig (eg. BitGo). Since you are trying to build your own e-commerce site around multisig, where one key is always some key you control, you probably want a library you can call in your code, without a user interface. 

Without commenting on the suitability of each and every library option, I will say that BitcoinJS can do what you need here. They provide a set of library functions that can create multisig addresses with any set of public keys and M-of-N requirements as well as signing functionality to sign those with private keys (which your buyer and seller could do on a browser hosted solution you provide or own their own).

See BitcoinJS's example for creating a 2-of-3 P2SH address, creating a transanction (to fund your multisig address) and spending from a 2-of-2 multisig address (you will need to modify to spend from a 2-of-3 address).

Bitcore by Bitpay (which Copay is built on) can also create multisig addresses and sign/create transanctions: https://github.com/bitpay/bitcore. You can use it in the browser with bower for easy setup, and their API is very well documented. You can see their example for generating a multisig address.

With all of that said, be very careful with your implementation. This is people's money and you don't want to be introducing vulnerabilities that loses people their money (or yours). If you don't feel comfortable with the security implications of your design decisions, create example demonstration versions and have them well vetted by more experienced people before bringing them into production.