Moved gallery from the engine to the framework here because of issues with the javascripts rendering multiple times if included in the widget view.