Make the StackWidget index based

This leads to a cleaner and more efficient implementation. It will also
make the implementation of TabWidget simpler.
optimize current sender tracking
make Emitter methods static methods.

Encourage BoundSignal as the user land api
update to use Emitter static methods