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.
Any reason why the assignment and the actual function are separated. Causes no harm I guess but just curious.