Some minor styling changes
Some mark up changes
Some pretty major logic changes. Now there's a check to see if the elements "canplaythrough" before firing timings and events