optimize swirl demo

add ui and mouse interactions.