Add set_name to event_loop.

Change-Id: I2ab1486eb8a348ceeec00ab170e2474d7fe25167
diff --git a/aos/events/shm-event-loop.h b/aos/events/shm-event-loop.h
index 91ca342..24cd909 100644
--- a/aos/events/shm-event-loop.h
+++ b/aos/events/shm-event-loop.h
@@ -62,6 +62,8 @@
     thread_state_.priority_ = priority;
   }
 
+  void set_name(const char *name) override;
+
  private:
   friend class internal::WatcherThreadState;
   friend class internal::TimerHandlerState;
@@ -82,6 +84,8 @@
 
     void MaybeSetCurrentThreadRealtimePriority();
 
+    const ::std::string &name() const { return name_; }
+
    private:
     friend class internal::WatcherThreadState;
     friend class internal::TimerHandlerState;
@@ -96,6 +100,9 @@
     ::std::atomic<bool> loop_running_{false};
     bool loop_finished_ = false;
     int priority_ = -1;
+
+    // Immutable after Start is called.
+    ::std::string name_;
   };
 
   // Tracks that we can't have multiple watchers or a sender and a watcher (or