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.
`MYSERVICEPICKER_EVENT` absolutely is a constant, that's why it is all caps.

---

Re: the $ prefix, it is supposedly only for "angular internal" injectables. so like `$timeout` and `$scope`, those are angular objects made by angular team, they are supposed to have the `$`.

`$state` and `$alert` are from libraries we use, their authors have chosen to prefix their module with `$` because they want to be angular-y. Strictly speaking I think they should NOT have the prefix but that's the way the authors chose to do it.

Our internally-grown injectables should NOT use the prefix.

hth?