move squareView construction into launchpad initialiser

also warn when sound attempts to play but song hasn’t finished caching
change views to use model change events

instead of re-rendering the whole thing every time
add position button and fix jumping to position