remove most dependencies on Mouse
add periodic wave demo
add reverse and offset to waves