major refactoring
using listenTo, instead of on for memory managment.
added duration and destroy events
bento stuff
exporting components for testing.
all unit tests pass besides defaultConfig.
logger is in separate file and configurable.
fixed playhead and state events.