Revamped animation with more control and IE9 compatibility

switched from css animation to an animated `@state` properties that are applied as inline styles. I created a mixin to minimize boilerplate code when creating an 'enter' or 'leave' animation. I also implemented React's low level animation API, which gives us useful lifecycle hooks like `componentWillLeave` & `componentDidLeave`.