Publish Client library to npm & Typescript Support

Licode is an awesome project but…

ErizoClient through npm

The Client API is completely JavaScript-based & doesn’t require any binary compilation thus it is much safer to provide it through Client API aka erizoClient is completely independent of the rest of the project with a single dependence to the shared module erizo_controller\common\ReliableSocket.js. But because of the webpack-bundle, it doesn’t matter. Thus it’d be much easier for the user to install erizoClient through npm compared to copying it over-and-over manually or through a postinstall/init script

Typescript typedefs with .d.ts

Typescript is currently is really important because of its safety guarantees. Even though this project is created with JavaScript, providing type definitions through .d.ts file can be done. Especially nuve & erizoClient type definitions are needed most as it’s used in the user’s project

If possible, migrate the complete JavaScript code to Typescript & remove google-closure-compiler as Typescript’s tsc is better currently. Don’t worry, I’m not requesting to do this part but if this can be done it’ll be a huge improvement for the project & lot of developers can use/integrate Licode in their projects easily