first pass at SamplePlayer loop begin/end markers, still a couple edge cases to work through
fixed async FilePlayer seeking
rename setLoop() -> setLoopEnabled(), getLoop() -> isLoopEnabled(), added docs.