Hyundai reveals Ioniq 3 small electric car with 309-mile range