Add responsive player controls
Refactor player JS to tidy it up a bit