major button, shadow and ripple refactor. include hammerjs.