I had a quick look at your project, and noted that you did follow some of Youval's recommendations regarding the minimizing of initialization processes. I did notice though that all this initialization still occurs on the client, and as Youval suggested, it might prove worthwhile to move these initialization processes to the server side.
Doing this is quiet easy, using the relatively new Encapsulate feature of the studio (select a few elements in a model, right-click, select Encapsulate, and all selected elements are moved to a new action, with flow intact).
Since the new process is an action, you will need to convert it into a service, which can be achieved by changing the plugin property of the new action from Tersus/Basic/Action to Tersus/Basic/Service, saving the model, and refreshing the repository (remember that the undo stack is cleared following a refresh).
Also note that due to a limitation in the Encapsulate feature, you will not be able to encapsulate in cases where the model flow loops (i.e. starts and finishes in the same element, for instance a display ancestor reference), but this can be overcome by adding a second ancestor reference to the same display and making sure model flows from one to the other.
For best results, use the Firefox browser..