Panasonic invents fuel cell that could give laptops 20 hours of battery life