Added State enum to MediaPlayerInterface
Add rest of MediaPlayerInterface api functions

Also refactor state enum.