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. 
It seems like ```updatePush``` and ```clear``` are (almost) always called together.  The only time they aren't is when the ```JSSnippetsStack.length``` is already zero so.  If ```clear``` were updated to ```clearStack``` as per the suggestion above, I think it would make more sense to have these lines of code be in a ```clearStack``` method.