Fixes to run correct on *nix systems

- changed bus.poll to bus.pop(). Otherwise player can't handle being in
a separate thread
- cleanup and finalizations. Almost ready for release!