player: better public/private pattern and remove typedefs

See #37 and #36
playlist: better public/private pattern and remove typedefs

See #37 and #36