- etemplate2 creates a private app object instead of using window.app with just prototypes, if template is not from current app
- fixed all cases where window.app was used to use just app, to use evtl. private object
- app_base no longer assigns itself to window.app (window.app[this.appname] = this), as that breaks private app objects
- et2_compileLegacyJS replaces app.appname with widget.getInstanceManager().app_obj.appname
- etemplate2 stores either private or global app object in app_obj attribute
- Create tutorial sidebox hooks automatically
- Fix some styling for popup
- Display intro video show confirmation dialog based on session (login/logout)
- Implement video navigation on popup
- Implement introduction video with user confirmation dialog based on session
- New layout for tutorials list both in sidebar and popup
- Separate tutorials styles to be able to set different styles base on templates