Chat with no RequireJS

Wrapped all JavaScripts except AngularJS modules into anonymous functions to have the global scope clean. Guy's fixes of black screen on monitors also applied.
`Private` methods are underscored, public ones no, this is quite common.