Vid 2089 Fixing JS for lazy loaded elements

Covers tickets like: 
- https://wikia-inc.atlassian.net/browse/UC-68
- https://wikia-inc.atlassian.net/browse/VID-2089
- https://wikia-inc.atlassian.net/browse/VID-2105
- https://wikia-inc.atlassian.net/browse/CE-450

There's a bunch of places where lazy loading content means JS won't initialize for article elements that rely on JS. This PR should cover the majority of those cases. 

Places where article elements are lazy loaded: 
- Tab View [example](http://lizlux.liz.wikia-dev.com/wiki/TabView)
- Article Comments (initial load, new posts, edits) [example](http://glee.liz.wikia-dev.com/wiki/LizTest#comm-1567703)
- Message Wall (new posts, edits, preview) [example](http://glee.liz.wikia-dev.com/wiki/Message_Wall:Lizlux)
- After editing VE [example (publish a change)](http://lizlux.liz.wikia-dev.com/wiki/MediaGallery3?veaction=edit)
- Forum preview modal [example (create post and click preview)](http://glee.liz.wikia-dev.com/wiki/Board:Wiki_News_and_Announcements)

Elements that rely on JS: 
- mw-collapsible [example](http://glee.liz.wikia-dev.com/wiki/LizTest#comm-1567706)
- new galleries [example](http://glee.liz.wikia-dev.com/wiki/LizTest#comm-1567703)
- table sorting [example (3rd tab)](http://lizlux.liz.wikia-dev.com/wiki/TabView)

This also includes a php fix by @armonr for rendering new galleries on message wall. 
Is there a test for this or more generally for the mw.hook/fire pattern (since this can potentially be used everywhere)?