lep: pull based event loop

If you get to uv_backend_dispatch, splitting that up to get what we want won't be a problem IMO.