利用StatePattern重构该例子

（1）定义状态接口；（2）每个具体的状态类都实现该接口；（3）从GumballMachine中将大量的条件判断语句去除