media_players: add first media player action
media_players: refactor MediaPlayerAction to use a MediaPlayerCommandLeaf

This avoids duplicate code
media_players: rename do_command method to run_on_player
media_players: rename MediaPlayerCommandLeaf subclasses to ~Leaf
media_players: move __init__ logic into MediaPlayerAction
media_players: add more actions