Implements the ripple effect.

We use a separate wave implementation that can work with any element and
ripple eleent that demoes it. Additional small changes have been applied
to the cache datasource and the base element to host the waves.

A new event type is introduced to notify the component when the ripple
efect finishes. If multiple ripples are started an end event will be
fired for each ripple/wave.
Remove unneded debug.