Fix inconsistent MediaPlayerState transitions. In general, media should transition from UNINITIALIZED to LOADING to READY to BUFFERING (if canBuffer) to PLAYING. For error conditions, media should transition from LOADING to PLAYBACK_ERROR. Added additional error cases to ExamplePlayer. Update unit tests to verify these states for all media types.