Multithreaded detection/tracking

Solves issue #63.

Adds two new detection triggers to the API:

- `BACKGROUND_DETECT_PERIODICALLY` runs detection in a background thread. Detection is triggered only when `mCallsBeforeDetection` many calls to `find()` are made, just like in `DETECT_PERIODICALLY`. As soon as the detection ends, tracked tags are updated. Calls to `find()` only run tracking. 

- `BACKGROUND_DETECT_ALWAYS` runs detection in a background thread as above, but detection is triggered as soon as the previous detection ends.

There are a handful of `TODO`s to address and more commits will follow. For the meantime, I await your reviews.