Fixes #854
Fixes #853
This change fixes playerImpl leak by removing dependency on finalizer usages. Now readLoop can (or should) be called multiple times even after closing. Only when (*Player).Close is called explicitly, the read loop cannot be started again. Fixes #852