Use base::task_queue in base::message_loop

Code responsible for managing a base::timed_task queue has been
extracted from base::message_loop as a separate component -
base::task_queue.

Fixes #49