ppb_message_loop_run: don't keep message_loop resource locked
impl ppb_message_loop_attach_to_current_thread
impl ppb_message_loop_mark_thread_unsuitable
ppb_message_loop_run: check for errors
ppb_message_loop: add teardown state, fix task pushing
impl ppb_message_loop_get_for_main_thread