Cross-platform event loop library