Adrien's NGUI work in progress

Since I'm working on several items at the same time on NGUI, this PR can serve as a single place to review ongoing changes.
I also assumed that in angular world you add ```$``` to any variable being passed to understand that it is being injected by angular. 

Am I understanding it wrong because some variables here are preceded by $ and some are not. Are we following some best practices on it that I am failing to see?