Advanced select

@popomore 支持多级选择。优化了几个点，详细可以看 HISITORY 或者 diff 源码。对原来的功能都不影响，接口也没变化。