Adding a loading state and improving the state handling for browsers without preload functionality.
Delaying the playback events until `canplaythrough`
Merge branch 'master' into gh-pages