Simplify the implementation of TaskRunner.

TestRunner used to hold the std::thread pointer and
a pointer to a boolean flag. Simplify them:

* std::thread* is not needed because detach() allows
  the thread to run in background
* bool* is not needed; use a non-callable std::function
  to indicate end of queue.
* Use std::shared_ptr instead of raw pointer for mQueue
  to avoid weird pointer ownership management.

Test: libhidl_test
Test: hidl_test
Test: boots
Change-Id: I8fe7a6285bc537408ed559499951c17219e0df7f
2 files changed