Introduce a new constructor to PlatformThread.

The new constructor introduces two new changes:

* Support specifying thread priority at construction time.
  - Moving forward, the SetPriority() method will be removed.
* New thread function type.
  - The new type has 'void' as a return type and a polling loop
    inside PlatformThread, is not used.

The old function type is still supported until all places have been moved over.

In this CL, the first steps towards deprecating the old mechanism are taken
by moving parts of the code that were simple to move, over to the new callback
type.

BUG=webrtc:7187

Review-Url: https://codereview.webrtc.org/2708723003
Cr-Commit-Position: refs/heads/master@{#16779}
diff --git a/webrtc/base/rate_limiter_unittest.cc b/webrtc/base/rate_limiter_unittest.cc
index 3c1b541..6d92567 100644
--- a/webrtc/base/rate_limiter_unittest.cc
+++ b/webrtc/base/rate_limiter_unittest.cc
@@ -130,9 +130,8 @@
   rtc::Event end_signal_;
 };
 
-bool RunTask(void* thread_task) {
+void RunTask(void* thread_task) {
   reinterpret_cast<ThreadTask*>(thread_task)->Run();
-  return false;
 }
 
 TEST_F(RateLimitTest, MultiThreadedUsage) {