refactor(ripple): adds support for non-fixed tabs

Closes #825.
Closes #460.
I think this code could be refactored for DRY-ness:

```js
var clazz = (lastIndex > index) ? 'md-transition-left'  :
            (lastIndex < index) ? 'md-transition-right' : 'md-no-transition';
            
element.css({ left: data.left + 'px', right: right + 'px' });

element.removeClass('md-transition-left md-transition-right md-no-transition');
element.addClass( clazz );

```