Javascript optimization

This PR looks massive, but its not. I re-did all the history of my changes because my [test branch](https://github.com/DeuxHuitHuit/symphony-2/tree/collapsible) commit were not meaning full.

I played a lot with the js while attempting to fix some problems with @nilshoerrmann's datetime and I kind of set a bounty to myself to solve 6d70e19 (it took me like 10 hours to figure out and the fix is 4 chars...)

I also did a lot of timelining in the dev tools and regression testing.

Hope you like it... I really put lots of effort in it.

Damn merge. Will fix it asap.

> On Jul 11, 2014, at 18:41, John Porter <notifications@github.com> wrote:
> 
> In symphony/assets/js/src/symphony.orderable.js:
> 
> > @@ -121,6 +126,7 @@
> >  					object.trigger('orderchange', [item]);
> >  				}
> >  			}
> > +			});
> Could you fix the indenting here? Just a personal niggle ;)
> 
> —
> Reply to this email directly or view it on GitHub.