refactor(modal): use $animate for animation

- Use decorator to customize animations
- Need to sort of wrap $animate because $animate doesn't support animations that call other animations (.leave can't call .removeClass and expect the removeClass animation to execute)

- [x] Fix tests
- [x] Remove unused dependencies (transition)
- [ ] Remove change in demo

The demo change is included just for convenience.