Perform all API calls in the same thread, no more locking (see #23)

Previously: all Spotify API calls protected by mutex. I believe this is
the cause of the deadlocks in issue #23.

Now: all Spotify API calls are performed in a background thread that
runs forever. Whenever a call is made, it is scheduled to run in the
background, and the calling thread waits until a result is available.

For the GC, all calls are async, and do not wait for a return value.