[Extensions] Use a IO message loop for extensions running in a thread

Some extensions (like the RawSocket) will need this kind of main loop
for watching file descriptor events. The Chromium socket implementation
asserts when used in a non-IO message loop.